MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Node.js + Mongoose.js एक महीने या एक सप्ताह में ऑर्डर का योग कैसे प्राप्त करें?

यदि आप केवल एक समय अवधि के भीतर कुल ऑर्डर चाहते हैं तो आप $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" फ़ील्ड के लिए मान जोड़ने के लिए, लेकिन एक दिनांक एकत्रीकरण दी गई सीमा के भीतर प्रत्येक एक दिन के रूप में सभी मानों पर समूह बनाने के लिए ऑपरेटर।

यदि वह आखिरी मामला है जो आप चाहते हैं तो आप विभिन्न ऑपरेटरों का उपयोग विभिन्न दिनांक अवधियों को तोड़ने के लिए कर सकते हैं जिन्हें आप अपने परिणामों में शामिल करना चाहते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोज़ और एसिंक वॉटरफॉल मॉडल का उपयोग करके मोंगोडीबी में डेटा कैसे स्टोर करें

  2. नेवला आबाद रिटर्न अशक्त सरणी

  3. मैं _t फ़ील्ड को MongoDB में उपर करते समय प्रदर्शित होने से कैसे रोकूँ?

  4. हमें क्यों चाहिए, नेवले का उपयोग करने के क्या फायदे हैं

  5. MongoDB में किसी सरणी में मान जोड़ने के 2 तरीके