एम्बेडेड ऐरे में किसी विशिष्ट फ़ील्ड वैल्यू की घटनाओं को गिनने के लिए $unwind, $match और $group का उपयोग करें।
डेमो डेटा
> db.demo726.insertOne({
id:101,
"details": [
{ Name:"Chris" },
{ Name:"Chris" },
{ Name:"Bob" }
]
});
क्वेरी
db.demo726.aggregate([
{ $unwind: '$details' },
{ $match: { 'details.Name': "Chris" } },
{ $group: {
_id: "$Name",
Total_Value: { $sum: 1 }
}}
]);
परिणाम
{ "_id" : null, "Total_Value" : 2 }
नोट: _id: "$Name" के बजाय _id: "$details.Name" का उपयोग करना अधिक सटीक होगा। सही क्वेरी:
{ $group: { _id: "$details.Name", Total_Value: { $sum: 1 } } }