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

नेवले के साथ क्वेरी और योग करें

आप एकत्रीकरण पाइपलाइन का उपयोग कर सकते हैं परिणाम में परिकलित फ़ील्ड जोड़ने के लिए। mongo . का उपयोग करते हुए नीचे कुछ उदाहरण दिए गए हैं खोल, लेकिन Mongoose के Aggregate() हेल्पर में सिंटैक्स समान है।

उदाहरण के लिए, रकम की गणना करने के लिए (प्रति उपयोगकर्ता दस्तावेज़) आप <का उपयोग कर सकते हैं कोड>$जोड़ें अभिव्यक्ति एक $project में मंच :

db.user.aggregate(
    // Limit to relevant documents and potentially take advantage of an index
    { $match: {
        user_id: "foo"
    }},

    { $project: {
        user_id: 1,
        total: { $add: ["$user_totaldocs", "$user_totalthings"] }
    }}
)

अनेक दस्तावेज़ों के योग की गणना करने के लिए आपको $group का उपयोग करना होगा मंच एक $sum के साथ संचायक , उदाहरण के लिए:

db.user.aggregate(
    { $group: {
        _id: null,
        total:       { $sum: { $add: ["$user_totaldocs", "$user_totalthings"] } },
        totaldocs:   { $sum: "$user_totaldocs" },
        totalthings: { $sum: "$user_totalthings" }
    }}
)

आप केवल एक कुल चाह सकते हैं खेत; मैंने totaldocs . में जोड़ा है और कुल चीजें अनेक क्षेत्रों की गणना के उदाहरण के रूप में।

एक समूह _id का शून्य $group . को पास किए गए सभी दस्तावेज़ों के मानों को जोड़ देगा चरण, लेकिन आप यहां अन्य मानदंडों का भी उपयोग कर सकते हैं (जैसे कि user_id . द्वारा समूहीकृत करना) )।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB क्वेरी से जोडा डेटाटाइम में प्राप्त वर्ष और वर्ष का सप्ताह कैसे परिवर्तित करें?

  2. परिणामों को सीमित करने से पहले आप मोंगो को संग्रह को क्रमबद्ध करने के लिए कैसे कहते हैं?

  3. Mongodb को 3.2 से 3.6 में अपग्रेड करते समय त्रुटि

  4. PhantomJS का उपयोग करके MongoDB से कैसे जुड़ें?

  5. मोंगोडब - कैसे खोजें और फिर एकत्र करें