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

MongoDB में ऑब्जेक्ट के अंदर सरणी से डेटा कैसे खोजें?

MongoDB में नेस्टेड ऑब्जेक्ट के अंदर सरणी में मान खोजने के लिए डॉट नोटेशन का उपयोग करें। MongoDB स्वचालित रूप से सरणी के अंदर मान खोजता है।

उदाहरण

नेस्टेड सरणी वाले दस्तावेज़ बनाएं:

> db.findDataDemo.insertOne(
  {
    "_id": new ObjectId(),
    "CustomerName": "John",
    "CustomerDetails": {
      "CountryName": ["AUS"],
      "isMarried": [false]
    }
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cefa5eeef71edecf6a1f6a5") }

> db.findDataDemo.insertOne(
  {
    "_id": new ObjectId(),
    "CustomerName": "Carol",
    "CustomerDetails": {
      "CountryName": ["UK"],
      "isMarried": [true]
    }
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cefa60aef71edecf6a1f6a6") }

दस्तावेज़ देखें:

> db.findDataDemo.find().pretty();
{ "_id" : ObjectId("5cefa5eeef71edecf6a1f6a5"), "CustomerName" : "John", "CustomerDetails" : { "CountryName" : [ "AUS" ], "isMarried" : [ false ] } }
{ "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"), "CustomerName" : "Carol", "CustomerDetails" : { "CountryName" : [ "UK" ], "isMarried" : [ true ] } }

CountryName सरणी में "UK" वाले दस्तावेज़ ढूंढें

> db.findDataDemo.find({"CustomerDetails.CountryName": "UK"});

आउटपुट:

{ "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"), "CustomerName" : "Carol", "CustomerDetails" : { "CountryName" : [ "UK" ], "isMarried" : [ true ] } }

मुख्य बिंदु:

  • डॉट नोटेशन (CustomerDetails.CountryName) नेस्टेड फील्ड तक पहुंचता है
  • MongoDB स्वचालित रूप से सरणी के अंदर मान खोजता है - कोई विशेष ऑपरेटर आवश्यक नहीं
  • <यदि सरणी में "UK" है, तो दस्तावेज़ मेल खाता है

संबंधित: यदि आपको सरणी में विशिष्ट स्थिति पर मान खोजना है, तो CustomerDetails.CountryName.0 (पहला तत्व) जैसे पोजिशनल नोटेशन का उपयोग करें।

  1. - MongoDB में फाइंड क्वेरी से सरणी मान कैसे प्राप्त करें?

    MongoDB में सरणी फील्ड के अंदर नेस्टेड फील्ड के आधार पर दस्तावेज़ क्वेरी करने और सरणी लौटाने के लिए, डॉट नोटेशन का उपयोग करें: { arrayField.nestedField: value }। उदाहरण: क्लाइंट विवरण संग्रह > db.demo38.insertOne({ClientDetails:[{ClientId:101,ClientName:Chris}]}); { acknowledged : true, inserted

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

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

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn