Pokud chcete pouze celkový počet objednávek za určité časové období, můžete jednoduše použít dotaz na rozsah vašeho data pomocí $gte
a $lt
operátory stylu:
var query = Model.find({
"createdDate": {
"$gte": new Date("2014-05-21"), "$lte": new Date("2014-05-29")
}
}).count()
query.exec(function(err, count) {
A to pouze vrátí počet, pokud budou dokumenty nalezeny v tomto rozsahu.
Pokud chcete sečíst hodnotu z vašeho dokumentu nebo dokonce skutečně získat něco jako „denní součty“ z tohoto období, můžete k tomu použít agregační rámec:
Model.aggregate([
{ "$match": {
"$gte": new Date("2014-05-21"), "$lte": new Date("2014-05-29")
}},
{ "$group": {
"_id": { "$dayOfYear": "$createdDate" }
"totalValue": { "$sum": "$orderTotal" }
}}
],
function(err, result) {
To nejen využívá $sum
operátor k sečtení hodnot pro naše pole "orderTotal", ale také využívá agregace dat
operátor seskupit všechny hodnoty jako každý jednotlivý den v daném rozsahu.
Pokud chcete tento poslední případ, můžete použít různé operátory k rozdělení různých období, která chcete ve výsledcích obsahovat.