आप एकत्रीकरण पाइपलाइन
का उपयोग कर सकते हैं परिणाम में परिकलित फ़ील्ड जोड़ने के लिए। 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
. द्वारा समूहीकृत करना) )।