Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में नेस्टेड फ़ील्ड्स पर इंडेक्स बनाकर आंतरिक आइटम्स क्वेरी करना

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}।

  1. - MongoDB क्वेरी: इंडेक्स N पर ऐरे ऑब्जेक्ट अपडेट करें

    MongoDB में ऐरे ऑब्जेक्ट अपडेट करने के लिए update() का उपयोग करें। डॉट नोटेशन का उपयोग भी आवश्यक है। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo489.insertOne( ... { ... ... ...    details : [{ ...       id : 101, ...       "Info1" : { ... &

  1. - MongoDB में JSON सरणी के आंतरिक तत्व तक पहुंचें

    MongoDB में JSON सरणी के आंतरिक तत्व तक पहुंचने के लिए डॉट नोटेशन का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo687.insert({CountryName:US, info: { id:101, details: [ { Name:Chris, SubjectName:MongoDB, otherDetails:{ Marks:58, Age:23 } } ] } } ) WriteResult({ nInserted : 1 }) > db.demo687

  1. - MongoDB में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de