$elemMatch के साथ अनुक्रमणिका को सही ढंग से लागू करने के लिए, आपको व्याख्या () की अवधारणा का उपयोग करने की आवश्यकता है। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.workingOfIndexesDemo.createIndex({"Information.StudentDetails.StudentName":1},{ sparse:true, background:true});{ "createdCollectionAutomatically" :true, "numIndexesBefore" :1, "numIndexesAfter" :2, "ओके" :1}> db.workingOfIndexesDemo.insertOne({"Information":{"StudentDetails":{"StudentName":"Chris"}}});{ "स्वीकृत" :सच, "insertId" :ObjectId ("5e06f94825ddae1f53b621f7")}> db.workingOfIndexesDemo.insertOne({"Information":{"StudentDetails":{"StudentName":"David"}}});{ "स्वीकृत" :सच, "insertedId" :ObjectId(" 5e06f94f25ddae1f53b621f8")}> db.workingOfIndexesDemo.insertOne({"Information":{"StudentDetails":{"StudentName":"Mike"}}});{ "स्वीकृत" :सच, "insertedId" :ObjectId("5ddae1553f953f953 )}
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.workingOfIndexesDemo.find();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5e06f94825ddae1f53b621f7"), "Information" :{ "StudentDetails" :{ "StudentName" :"Chris" }}} }{ "_id":Object"d("5e06f94f25ddae1f53b621f"), "Information"8 :{ "StudentDetails" :{ "StudentName" :"David" } } }{ "_id" :ObjectId("5e06f95325ddae1f53b621f9"), "Information" :{ "StudentDetails" :{ "StudentName" :"Mike" } } } /पूर्व>MongoDB में व्याख्या () के साथ $elemMatch निष्पादित करने के लिए क्वेरी निम्नलिखित है -
> db.workingOfIndexesDemo.find({"Information.StudentDetails":{ $elemMatch:{ "StudentName" :"David"} } } ).explain();यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "queryPlanner" :{ "plannerVersion" :1, "namespace" :"test.workingOfIndexesDemo", "indexFilterSet" :false, "parsedQuery" :{ "Information.StudentDetails" :{ "$elemMatch" :{ " छात्र नाम":{"$eq":"डेविड"}}}}}, "जीतने की योजना":{"मंच":"FETCH", "फ़िल्टर" :{ "सूचना। छात्र विवरण" :{ "$elemMatch" :{ "छात्र का नाम" " :{ "$eq" :"David" } } } }, "inputStage" :{ "stage" :"IXSCAN", "keyPattern" :{ "Information.StudentDetails.StudentName" :1 }, "indexName" :" Information.StudentDetails.StudentName_1", "isMultiKey" :false, "multiKeyPaths" :{ "Information.StudentDetails. छात्रनाम" :[ ] }, "isUnique" :false, "isSparse" :true, "isPartial" :false, "indexVersion" :2, "direction" :"forward", "indexBounds" :{ "Information.StudentDetails.StudentName" " :[ "[\"डेविड\", \"डेविड\"]" ] } } }, "अस्वीकृत योजनाएं" :[ ] }, "सर्वरइन्फो" :{ "होस्ट" :"डेस्कटॉप-क्यूएन2आरबी3एच", "पोर्ट" :27017, "संस्करण" :"4.0.5", "gitVersion" :"3739429dd92b92d1b0ab120911a23d50bf03c412" }, "ठीक" :1}