MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongodb:znajdź podsumowanie rekordów

Operatory dat muszą być używane w $project operacja, a nie $group , więc musisz to zrobić w ten sposób (w powłoce):

db.tickers.aggregate(
    { $project: {
        _id: 0,
        year: {$year: '$date'},
        month: {$month: '$date'},
        day: {$dayOfMonth: '$date'},
        hour: {$hour: '$date'},
        avg: '$ticker.avg'
    }},
    { $group: {
        _id: { year: '$year', month: '$month', day: '$day', hour: '$hour' },
        avg: { $avg: '$avg'}
    }});

Daje wynik:

{
  "result": [
    {
      "_id": {
        "year": 2012,
        "month": 12,
        "day": 19,
        "hour": 10
      },
      "avg": 13.244705635
    }
  ],
  "ok": 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. dodaj użytkownika do mongodb przez python

  2. Liczba Mongodb vs findone

  3. Jak bezpiecznie zignorować zduplikowane błędy klucza za pomocą insert_many

  4. MongoDB $replaceAll

  5. Potrzebuję porady na temat NoSQL/MongoDb i struktury danych/modeli