sql >> Databáze >  >> NoSQL >> MongoDB

mongodb:najít souhrn záznamů

Operátory data musí být použity v $project operace, nikoli $group , takže to musíte udělat takto (v shellu):

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'}
    }});

Dává výsledek:

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



  1. Existuje něco jako Redis DB, ale neomezené velikostí RAM?

  2. MongoCursorException – Kurzor nenalezen (ovladač MongoDB PHP)

  3. Aktualizujte položku v poli, které je v poli

  4. Přepnout booleovskou hodnotu vnořených dokumentů