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

MongoDB में कई सरणियों को एक सरणी में बदलना

MongoDB में $unwind का उपयोग करके एकल सरणी बनाना

MongoDB में कई सरणियों को एक ही सरणी में संयोजित करने के लिए, आप aggregation pipeline में $unwind ऑपरेटर का उपयोग कर सकते हैं। यह प्रत्येक सरणी तत्व को अलग-अलग दस्तावेज़ में बदल देता है।

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

> db.demo289.insertOne({"Section":["A","B","E"],"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c06fcf49383b52759cbc3") }
> db.demo289.insertOne({"Section":["C","D","B"],"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c070af49383b52759cbc4") }

सभी दस्तावेज़ प्रदर्शित करना

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

आउटपुट:

{
    "_id" : ObjectId("5e4c06fcf49383b52759cbc3"),
    "Section" : [ "A", "B", "E" ],
    "Name" : "Chris"
}
{
    "_id" : ObjectId("5e4c070af49383b52759cbc4"),
    "Section" : [ "C", "D", "B" ],
    "Name" : "David"
}

$unwind का उपयोग करके सरणी तत्वों को अलग करना

> db.demo289.aggregate({ $unwind : "$Section" } );

आउटपुट:

{ "_id" : ObjectId("5e4c06fcf49383b52759cbc3"), "Section" : "A", "Name" : "Chris" }
{ "_id" : ObjectId("5e4c06fcf49383b52759cbc3"), "Section" : "B", "Name" : "Chris" }
{ "_id" : ObjectId("5e4c06fcf49383b52759cbc3"), "Section" : "E", "Name" : "Chris" }
{ "_id" : ObjectId("5e4c070af49383b52759cbc4"), "Section" : "C", "Name" : "David" }
{ "_id" : ObjectId("5e4c070af49383b52759cbc4"), "Section" : "D", "Name" : "David" }
{ "_id" : ObjectId("5e4c070af49383b52759cbc4"), "Section" : "B", "Name" : "David" }

व्याख्या

  • $unwind सरणी फ़ील्ड Section को डी-कंस्ट्रक्ट करता है।
  • प्रत्येक सरणी तत्व के लिए एक अलग दस्तावेज़ बनाता है।
  • अन्य फ़ील्ड (Name) प्रत्येक नए दस्तावेज़ में दोहराए जाते हैं।

यह तकनीक तब उपयोगी होती है जब आपको सरणी तत्वों पर व्यक्तिगत रूप से काम करने की आवश्यकता होती है, जैसे फ़िल्टरिंग, समूहीकरण या गणना करना।

  1. - MongoDB में ऐरे से एकाधिक मान निकालने के लिए क्वेरी

    MongoDB में $pull ऑपरेटर का उपयोग करके ऐरे से मान निकालना MongoDB में किसी ऐरे से विशिष्ट मानों को निकालने के लिए $pull ऑपरेटर का उपयोग किया जाता है। जब आपको एकाधिक दस्तावेज़ों से मान निकालने हों, तो multi: true विकल्प सेट करें। उदाहरण: संग्रह और दस्तावेज़ बनाना सबसे पहले, एक संग्रह बनाते हैं जिसमे

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

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

  1. - MongoDB में Single Array Value को String से Replace करना

    Replace करने के लिए $set और positional $ operator का उपयोग करें। Collection बनाना > db.demo564.insertOne({StudentName:[Chris,David,Mike,Sam]}); { acknowledged : true, insertedId : ObjectId(5e90880a39cfeaaf0b97b576) } सभी Documents Display करना > db.demo564.find().pretty(); Output: { _id :