आप इसके लिए समग्र ढांचे का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.summingSubDocumentDemo.insertOne(
... { "_id" :101, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 2000 } } });
{ "acknowledged" : true, "insertedId" : 101 }
> db.summingSubDocumentDemo.insertOne( { "_id" :102, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 3000 } } });
{ "acknowledged" : true, "insertedId" : 102 }
> db.summingSubDocumentDemo.insertOne( { "_id" :103, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 5000 } } });
{ "acknowledged" : true, "insertedId" : 103 } खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.summingSubDocumentDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{
"_id" : 101,
"CustomerDetails" : {
"CustomerPurchase" : {
"CustomerPurchaseAmount" : 2000
}
}
}
{
"_id" : 102,
"CustomerDetails" : {
"CustomerPurchase" : {
"CustomerPurchaseAmount" : 3000
}
}
}
{
"_id" : 103,
"CustomerDetails" : {
"CustomerPurchase" : {
"CustomerPurchaseAmount" : 5000
}
}
} यहाँ MongoDB उप-दस्तावेज़ फ़ील्ड का योग करने की क्वेरी है -
> db.summingSubDocumentDemo.aggregate({$group : {_id: "",
... totalAmount : {$sum: "$CustomerDetails.CustomerPurchase.CustomerPurchaseAmount"}}},
... {$project: {_id: 0, totalAmount: 1}}); यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "totalAmount" : 10000 }