MongoDB में एम्बेडेड फ़ील्ड्स पर इंडेक्सिंग
एम्बेडेड दस्तावेज़ के फ़ील्ड्स पर क्वेरी प्रदर्शन सुधारने के लिए, डॉट नोटेशन का उपयोग करके उन फ़ील्ड्स पर इंडेक्स बनाएं: {"details.Name": 1}।
नमूना डेटा और इंडेक्स निर्माण
> db.demo323.insertOne({"details": {"Name": "Chris", "Age": 34}});
{ "acknowledged": true, "insertedId": ObjectId("5e51157af8647eb59e56206e") }
> db.demo323.insertOne({"details": {"Name": "David", "Age": 31}});
{ "acknowledged": true, "insertedId": ObjectId("5e511581f8647eb59e56206f") }
> db.demo323.insertOne({"details": {"Name": "Bob", "Age": 28}});
{ "acknowledged": true, "insertedId": ObjectId("5e511589f8647eb59e562070") }
> db.demo323.ensureIndex({"details.Name": 1});
{ "createdCollectionAutomatically": false, "numIndexesBefore": 2, "numIndexesAfter": 3, "ok": 1 }
इंडेक्स का उपयोग करके क्वेरी
> db.demo323.find({"details.Name": "Bob"});
परिणाम
{ "_id": ObjectId("5e511589f8647eb59e562070"), "details": { "Name": "Bob", "Age": 28 } }
इंडेक्स details.Name पथ पर क्वेरी को कवर करता है, जिससे पूर्ण संग्रह स्कैन के बजाय इंडेक्स स्कैन होता है। यह गहरे नेस्टेड फ़ील्ड्स के लिए भी काम करता है: {"a.b.c": 1}।