आप जो चाहते हैं वह के साथ एग्रीगेशन फ्रेमवर्क का उपयोग है। aggregate()
आदेश, कम से कम एक तिथि खोजने के लिए जैसा आप पूछते हैं:
SomeSchema.aggregate(
[
{ "$match": {
"date": {
"$gte": new Date("2014-05-08"), "$lt": new Date("2014-05-09")
}
}},
{ "$group": {
"_id": "$some_item",
"count": { "$sum": 1 }
}}
],
function(err,result) {
// do something with result
}
);
यदि आप विशेष रूप से कई तिथियों में "गणना" की तलाश कर रहे हैं तो आप ऐसा कुछ कर सकते हैं:
SomeSchema.aggregate(
[
{ "$match": {
"date": {
"$gte": new Date("2014-05-01"), "$lt": new Date("2014-06-01")
}
}},
{ "$group": {
"_id": {
"year": { "$year": "$date" },
"month": { "$month": "$date" },
"day": { "$dayOfMonth": "$date" }
}
"count": { "$sum": 1 }
}}
],
function(err,result) {
// do something with result
}
);
और वह आपको "प्रति दिन" समूहीकरण देता है। दिनांक एकत्रीकरण ऑपरेटरों की तलाश करें दस्तावेज़ीकरण में यदि आप इसे और आगे ले जाना चाहते हैं।