यदि आप केवल एक समय अवधि के भीतर कुल ऑर्डर चाहते हैं तो आप $gte
और $lt
स्टाइल ऑपरेटर:
var query = Model.find({
"createdDate": {
"$gte": new Date("2014-05-21"), "$lte": new Date("2014-05-29")
}
}).count()
query.exec(function(err, count) {
और अगर उस सीमा के भीतर दस्तावेज़ मिलते हैं तो वह गिनती वापस कर देगा।
यदि आप अपने दस्तावेज़ के अंदर से एक मूल्य का योग करना चाहते हैं, या वास्तव में उस तिथि सीमा के भीतर से "दैनिक योग" जैसा कुछ प्राप्त करना चाहते हैं तो आप ऐसा करने के लिए एकत्रीकरण ढांचे का उपयोग कर सकते हैं:
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) {
यह न केवल $sum<का उपयोग करता है /कोड>
ऑपरेटर हमारे "orderTotal" फ़ील्ड के लिए मान जोड़ने के लिए, लेकिन एक दिनांक एकत्रीकरण
दी गई सीमा के भीतर प्रत्येक एक दिन के रूप में सभी मानों पर समूह बनाने के लिए ऑपरेटर।
यदि वह आखिरी मामला है जो आप चाहते हैं तो आप विभिन्न ऑपरेटरों का उपयोग विभिन्न दिनांक अवधियों को तोड़ने के लिए कर सकते हैं जिन्हें आप अपने परिणामों में शामिल करना चाहते हैं।