विशेषताओं की तुलना करने के लिए, $let के साथ $indexOfArray का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo366.insertOne(... {...... "नाम":"क्रिस",... "विवरण":[... {... "आईडी":"जॉन 1" ,... "मान" :"परीक्षण"... },... {... "आईडी" :"जॉन2",... "मान" :18...},... {.. . "Id" :"John3",... "value" :20...}... ]}...);{ "स्वीकृत" :true, "insertId" :ObjectId("5e57ddd92ae06a1609a00ae7")}पूर्व>संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo366.find();यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e57ddd92ae06a1609a00ae7"), "Name" :"Chris", "details" :[{"Id" :"John1", "value" :"test" }, { "Id" :"जॉन2", "वैल्यू" :18 }, { "आईडी" :"जॉन3", "वैल्यू" :20 } ]}MongoDB ऑब्जेक्ट ऐरे में विभिन्न ऑब्जेक्ट्स की विशेषताओं की तुलना करने के लिए क्वेरी निम्नलिखित है -
> db.demo366.find(... {"$expr":{... "$let":{... "vars":{... "john2":{"$arrayElemAt":["$details",{"$indexOfArray":["$details.Id",,"John2"]}]},... "john3":{"$arrayElemAt":["$details",{"$ indexOfArray":["$details.Id",,"John3"]}]}...},... "in":{"$lt":["$$john2.value",,"$$john3. value"]}}... }})यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e57ddd92ae06a1609a00ae7"), "Name" :"Chris", "details" :[{"Id" :"John1", "value" :"test" }, { "Id" :"जॉन2", "वैल्यू" :18 }, { "आईडी" :"जॉन3", "वैल्यू" :20 } ] }