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

MongoDB में इनर ऐरे में डेटा कैसे इन्सर्ट करें?

MongoDB में $addToSet और पोजिशनल $ का उपयोग करके नेस्टेड ऐरे में डेटा इन्सर्ट करना

एक ऐरे के अंदर एक विशिष्ट एम्बेडेड डॉक्यूमेंट के नेस्टेड ऐरे में एलिमेंट जोड़ने के लिए, मिलान करने वाले एम्बेडेड डॉक्यूमेंट को लक्षित करने के लिए पोजिशनल $ ऑपरेटर के साथ $addToSet का उपयोग करें।

नमूना डेटा बनाना

> db.insertDataIntoArrayDemo.insertOne(
  {
    "UserDetails":[
      { "UserId" : "user121", "userGroupMessage": [] },
      { "UserId" : "user221", "userGroupMessage": ["Cool", "Good Morning"] }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cd694e157806ebf1256f128") }

डॉक्यूमेंट देखना

> db.insertDataIntoArrayDemo.find().pretty();

आउटपुट:

{
  "_id" : ObjectId("5cd694e157806ebf1256f128"),
  "UserDetails" : [
    { "UserId" : "user121", "userGroupMessage" : [ ] },
    { "UserId" : "user221", "userGroupMessage" : [ "Cool", "Good Morning" ] }
  ]
}

नेस्टेड ऐरे में संदेश जोड़ना

UserId: "user121" वाले डॉक्यूमेंट के userGroupMessage ऐरे में "Hello" जोड़ें:

> db.insertDataIntoArrayDemo.update(
  { "UserDetails.UserId": "user121" },
  { "$addToSet": { "UserDetails.$.userGroupMessage": "Hello" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम वेरिफाई करना

> db.insertDataIntoArrayDemo.find().pretty();

आउटपुट:

{
  "_id" : ObjectId("5cd694e157806ebf1256f128"),
  "UserDetails" : [
    { "UserId" : "user121", "userGroupMessage" : [ "Hello" ] },
    { "UserId" : "user221", "userGroupMessage" : [ "Cool", "Good Morning" ] }
  ]
}

व्याख्या

  • { "UserDetails.UserId": "user121" } - बाहरी ऐरे में मिलान करने वाला तत्व ढूंढता है।
  • UserDetails.$.userGroupMessage - पोजिशनल $ मिलान किए गए ऐरे तत्व को संदर्भित करता है।
  • $addToSet - "Hello" तभी जोड़ता है जब पहले से मौजूद न हो (डुप्लिकेट रोकता है)।

महत्वपूर्ण सीमाएं

  • पोजिशनल $ केवल पहले मिलान करने वाले ऐरे तत्व को अपडेट करता है।
  • यदि मल्टीपल तत्व क्वेरी से मेल खाते हैं, तो केवल पहले को संशोधित किया जाता है।
  • सभी मिलान करने वाले तत्वों को अपडेट करने के लिए, MongoDB 4.2+ में updateMany के साथ एग्रीगेशन पाइपलाइन ($map, $cond) का उपयोग करें।

बहु-स्तरीय नेस्टिंग के लिए विकल्प

गहरे नेस्टेड ऐरे (ऐरे के अंदर ऐरे के अंदर ऐरे) के लिए, फिल्टर्ड पोजिशनल ऑपरेटर $[identifier] के साथ arrayFilters (MongoDB 3.6+) का उपयोग करने पर विचार करें।

  1. - MongoDB में ऐरे इंटरसेक्शन का डेटा कैसे प्राप्त करें?

    MongoDB में ऐरे इंटरसेक्शन के लिए aggregate() में $setIntersection का उपयोग करें। नमूना डेटा बनाना db.demo625.insertOne( { Name: Robert, Marks: [60,75] } ); सभी दस्तावेज़ देखना db.demo625.find(); { _id : ObjectId(...), Name : John, Marks : [ 56, 98, 60 ] } { _id : ObjectId(...), Name : John, Mar

  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. - MySQL टेबल में डेटा कैसे डालें?

    MySQL टेबल में डेटा डालने के लिए हमें INSERT INTO कमांड का उपयोग करना होगा। हमें INSERT INTO कमांड में टेबल के सभी कॉलम के लिए मान निर्दिष्ट करने होंगे। सिंटैक्स INSERT INTO table_name values(value1,value2,...) उदाहरण मान लीजिए हमारे पास Student नामक एक टेबल है जिसमें तीन कॉलम RollNo, Name और Class