सरणी फ़ील्ड वाले दस्तावेज़ों का मिलान करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo592.insertOne(... {... "id":101,... "विवरण":[... {"नाम":"क्रिस", "मान":"200" },... {"नाम" :"डेविड", "मान" :"800"}... ]...}... );{ "स्वीकृत" :सच, "insertId" :ObjectId("5e930d8ffd2d90c177b5bcd6 ")}> db.demo592.insertOne(... {... id:102,... "विवरण":[... {"नाम":"क्रिस", "मान":"500"}, ... {"नाम":"डेविड", "वैल्यू":"900"}...]...}...);{ "स्वीकृत":सच, "सम्मिलित आईडी":ऑब्जेक्ट आईडी ("5e930d90fd2d90c177b5bcd7") }पूर्व>संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo592.find();यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e930d8ffd2d90c177b5bcd6"), "id" :101, "details" :[ { "Name" :"Chris", "Value" :"200" }, { "Name" :" डेविड", "मान" :"800" }] }{ "_id" :ObjectId ("5e930d90fd2d90c177b5bcd7"), "id" :102, "विवरण" :[ { "नाम" :"क्रिस", "मान" :" 500" }, { "नाम" :"डेविड", "वैल्यू" :"900" }] }मिलान करने के लिए क्वेरी निम्नलिखित है -
> db.demo592.find(... {... "$and" :[... {"विवरण" :{ "$elemMatch" :{ "Name" :"Chris", "Value" :{ "$gte" :"500" } } } },... { "विवरण" :{ "$elemMatch" :{ "Name" :"David", "Value" :{ "$gte" :"600" } } } }... ]... }... );यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e930d90fd2d90c177b5bcd7"), "id" :102, "details" :[ { "Name" :"Chris", "Value" :"500" }, { "Name" :" डेविड", "वैल्यू" :"900" } ] }