इसके लिए एग्रीगेट () का इस्तेमाल करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo393.insertOne(... {... Id1:"1",... नाम:"क्रिस",... Id2:"100"...}...);{ "स्वीकृत" :सच, "insertId" :ObjectId("5e5e6dd522064be7ab44e804")}> db.demo393.insertOne(... {... Id1:"1",... नाम:"क्रिस",... Id2 :"101"...}...);{"स्वीकृत" :सच, "insertId" :ObjectId("5e5e6dd522064be7ab44e805")}> db.demo393.insertOne(... {... Id1:"3" ,... नाम:"क्रिस",... Id2:"100"...}...);{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e5e6dd522064be7ab44e806")}> db.demo393। insertOne(... {... Id1:"3",... नाम:"माइक",... Id2:"101"...}...); { "स्वीकृत" :सच, "insertId" " :ObjectId("5e5e6dd522064be7ab44e807")}
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo393.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e5e6dd522064be7ab44e804"), "Id1" :"1", "Name" :"Chris", "Id2" :"100" }{ "_id" :ObjectId("5e5e6dd522064be7ab44e805") , "Id1" :"1", "Name" :"Chris", "Id2" :"101" }{ "_id" :ObjectId("5e5e6dd522064be7ab44e806"), "Id1" :"3", "Name" :" क्रिस", "Id2" :"100" }{ "_id" :ObjectId("5e5e6dd522064be7ab44e807"), "Id1" :"3", "Name" :"Mike", "Id2" :"101" }
एक फ़ील्ड के विरुद्ध दस्तावेज़ों के प्रतिच्छेदन का सामूहिक रूप से मिलान करने के लिए क्वेरी निम्नलिखित है -
> db.demo393.aggregate([... { "$match":{ "Name":"Chris" } },... { "$group":{... "_id":"$ Id1",... "दस्तावेज़":{ "$ push":"$$ROOT" },... "गिनती":{ "$sum":1 }...}},... { "$ मैच":{... "गिनती":{"$gt":1},... "दस्तावेज़":{... "$all":[... {"$elemMatch":{ "Id2" :"100" } },... { "$elemMatch":{ "Id2":"101" } }... ]... }... }}... ])
यह निम्नलिखित आउटपुट देगा -
{ "_id" :"1", "docs" :[ { "_id" :ObjectId("5e5e6dd522064be7ab44e804"), "Id1" :"1", "Name" :"Chris", "Id2" :" 100" }, { "_id" :ObjectId("5e5e6dd522064be7ab44e805"), "Id1" :"1", "Name" :"Chris", "Id2" :"101" } ], "गिनती" :2 }पूर्व>