गिनने के लिए, आप $sum के साथ-साथ समुच्चय () का भी उपयोग कर सकते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo184.insertOne({"Names":["Chris","David","Bob"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3999fb9e4f06af55199805")
}
> db.demo184.insertOne({"Names":["Chris","Mike"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e399a0d9e4f06af55199806")
}
> db.demo184.insertOne({"Names":["Chris","Bob","Carol"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e399a209e4f06af55199807")
} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo184.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e3999fb9e4f06af55199805"), "Names" : [ "Chris", "David", "Bob" ] }
{ "_id" : ObjectId("5e399a0d9e4f06af55199806"), "Names" : [ "Chris", "Mike" ] }
{ "_id" : ObjectId("5e399a209e4f06af55199807"), "Names" : [ "Chris", "Bob", "Carol" ] } प्रत्येक तत्व की आवृत्ति की गणना करने के लिए निम्नलिखित क्वेरी है -
> db.demo184.aggregate([
... { "$unwind" : "$Names" },
... { "$group": { "_id": "$Names", "count": { "$sum": 1} } },
... { "$group": {
... "_id": null,
... "counts": {
... "$push": {
... "k": "$_id",
... "v": "$count"
... }
... }
... } },
... { "$replaceRoot": {
... "newRoot": { "$arrayToObject": "$counts" }
... } }
...]) यह निम्नलिखित आउटपुट देगा -
{ "Carol" : 1, "David" : 1, "Chris" : 3, "Bob" : 2, "Mike" : 1 }