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

MongoDB में सरणी कन्कैटिनेशन से रिकॉर्ड कैसे जोड़ें?

MongoDB में दो या अधिक सरणी फील्ड को जोड़कर एक सरणी बनाने के लिए एग्रीगेशन में $concatArrays ऑपरेटर का उपयोग करें।

उदाहरण

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

> db.arrayConcatenationDemo.insertOne({"TeacherName": ["Chris", "Robert"], "StudentName": ["Mike", "Sam"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce921c078f00858fb12e911") }

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

> db.arrayConcatenationDemo.find().pretty();
{ "_id" : ObjectId("5ce921c078f00858fb12e911"), "TeacherName" : [ "Chris", "Robert" ], "StudentName" : [ "Mike", "Sam" ] }

दोनों सरणी जोड़ें

> db.arrayConcatenationDemo.aggregate([
  {
    "$project": {
      "StudentAndTeacherName": {$concatArrays: ["$TeacherName", "$StudentName"]}
    }
  }
]);

आउटपुट:

{ "_id" : ObjectId("5ce921c078f00858fb12e911"), "StudentAndTeacherName" : [ "Chris", "Robert", "Mike", "Sam" ] }

व्याख्या:

  • $concatArrays: [array1, array2, ...] - सरणियों को क्रम में जोड़ता है
  • पहले TeacherName के तत्व, फिर StudentName के तत्व
  • मूल फील्ड अपरिवर्तित रहते हैं (केवल प्रोजेक्शन में नया फील्ड)

एकाधिक सरणी जोड़ें

db.collection.aggregate([
  {$project: {
    allNames: {$concatArrays: ["$array1", "$array2", "$array3", ["static", "values"]]}
  }}
])

स्थिर सरणी ["static", "values"] भी जोड़ सकते हैं।

$concatArrays vs $push (एग्रीगेशन में)

ऑपरेटरउपयोग
$concatArraysमौजूदा सरणी फील्ड जोड़ना
$push$group में मान संग्रहीत करना

अपडेट में उपयोग (MongoDB 4.2+)

db.collection.updateMany(
  {},
  [{$set: {combined: {$concatArrays: ["$arr1", "$arr2"]}}}]
)

पाइपलाइन अपडेट में एग्रीगेशन स्टेज उपयोग करके दस्तावेज़ में नया जोड़ा गया फील्ड बना सकते हैं।

  1. - MongoDB में ऐरे में कैसे जोड़ें?

    MongoDB में ऐरे में जोड़ने के लिए $concatArrays ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo435.insertOne({"FirstName":["Chris"],"LastName":["Brown"]} ); {    "acknowledged" : true,    "inserted

  1. - MongoDB में सबडॉक्यूमेंट्स के ऐरे को कैसे क्वेरी करें?

    सबडॉक्यूमेंट्स के ऐरे को क्वेरी करने के लिए MongoDB में $unwind का उपयोग करें। नमूना डेटा बनाना (सबडॉक्यूमेंट्स ऐरे) db.demo499.insertOne({ details: [ { Name:MIT, Rank: 1, CountryName:US }, { Name:Stanford University, Rank: 2 }, { Name:University of California, Berkeley, Rank: 3 }

  1. - MongoDB में बल्क इंसर्ट कैसे करें?

    MongoDB में बल्क इंसर्ट के लिए, initializeUnorderedBulkOp() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > var bulkInsertDoc = db.demo663.initializeUnorderedBulkOp(); > bulkInsertDoc.insert( { Name: John,CountryName:US} ); > bulkInsertDoc.insert( { Name: Chris,CountryName:UK} ); &