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

MongoDB में JSON जैसे डेटा से मान कैसे खोजें?

MongoDB में नेस्टेड JSON संरचना से मान खोजने के लिए find() के साथ डॉट नोटेशन (.) का उपयोग करें।

उदाहरण

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

> db.findValueFromJsonDemo.insertOne(
  {
    "UserDetails": [{
      "_id": new ObjectId(),
      "UserName": "Carol",
      "UserMessage": "Hi"
    }],
    "UserFriendsName": ["John", "Sam"]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cdf8a4cbf3115999ed511fd") }

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

> db.findValueFromJsonDemo.find().pretty();
{ "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"), "UserDetails" : [ { "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"), "UserName" : "Carol", "UserMessage" : "Hi" } ], "UserFriendsName" : [ "John", "Sam" ] }

UserMessage "Hi" वाले दस्तावेज़ ढूंढें

> db.findValueFromJsonDemo.find({'UserDetails.UserMessage': "Hi"});

आउटपुट:

{ "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"), "UserDetails" : [ { "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"), "UserName" : "Carol", "UserMessage" : "Hi" } ], "UserFriendsName" : [ "John", "Sam" ] }

व्याख्या:

  • UserDetails.UserMessage डॉट नोटेशन नेस्टेड फील्ड तक पहुंचता है
  • UserDetails एक सरणी है, लेकिन MongoDB स्वचालित रूप से सरणी के प्रत्येक तत्व में UserMessage खोजता है
  • यदि सरणी के किसी भी तत्व में मेल खाता है, तो पूरा दस्तावेज़ लौटाया जाता है

गहरी नेस्टिंग के लिए:

db.collection.find({"level1.level2.level3.field": "value"})

नोट: यह केवल पढ़ने (find) के लिए काम करता है। अपडेट के लिए पोजिशनल ऑपरेटर $ या arrayFilters की आवश्यकता होती है।

  1. - MongoDB संग्रह से डेटा कैसे पुनर्प्राप्त करें?

    संग्रह से एकल दस्तावेज़ लौटाने के लिए MongoDB में findOne() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo463.insertOne({"StudentName":"Chris Brown","StudentAge":21,"StudentCountryName":"US"});{    "acknowledged&q

  1. - MongoDB में SQL LIKE के समान क्वेरी कैसे करें?

    MongoDB में LIKE के समान कार्यक्षमता के लिए find() के साथ रेगुलर एक्सप्रेशन (//) का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo686.insertOne({FirstName:Robert}); { acknowledged : true, insertedId : ObjectId(5ea55182a7e81adc6a0b395c) } > db.demo686.insertOne({FirstName:John}); { acknowledg

  1. - MongoDB क्वेरी: बिलिंग एड्रेस डिलीवरी एड्रेस के बराबर वाले दस्तावेज खोजें

    बराबरी चेक करके दस्तावेज प्राप्त करने के लिए, MongoDB में $where का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo589.insertOne({deliveryAddress:US,billingAddress:UK}); { acknowledged : true, insertedId : ObjectId(5e92c117fd2d90c177b5bccc) } > db.demo589.insertOne({delivery