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

Jak agregovat podle data, když je v agregačním rámci uvedeno úplné časové razítko?

Můžete to provést pomocí následujících operátorů agregace:

  • $skupina
  • $rok
  • $měsíc
  • $dayOfMonth

Tím získáte počet chyb pro každé datum:

db.errors.aggregate(
    { $group : {
        _id: {
            year : { $year : "$date" },        
            month : { $month : "$date" },        
            day : { $dayOfMonth : "$date" },
        },
        count: { $sum: 1 }
    }}
);

Tento příklad předpokládá, že pole data ve vašich chybových dokumentech je date a typu BSON Date. V MongoDB je také typ Timestamp, ale použití tohoto typu výslovně nedoporučuje dokumentace:

Poznámka:Typ BSON Timestamp je pro interní použití MongoDB. Ve většině případů při vývoji aplikací budete chtít použít typ data BSON. Další informace naleznete v části Datum.



  1. Jak implementovat Redis Multi-Exec pomocí Spring-data-Redis

  2. Vytvoření funkce zobrazení bez vrácení odpovědi ve Flasku

  3. Jak mohu použít operátor „Nelíbí se mi“ v MongoDB

  4. Jak mohu spustit redis na jednom serveru na různých portech?