MongoDB में एम्बेडेड दस्तावेज़ सरणी में $push का उपयोग
MongoDB में $push ऑपरेटर का उपयोग करके किसी मौजूदा दस्तावेज़ की एम्बेडेड सरणी में नया दस्तावेज़ जोड़ा जा सकता है।
नमूना डेटा बनाना
>db.demo288.insertOne({"Name":"Chris",details:[{"CountryName":"US",Marks:78},{"CountryName":"UK",Marks:68}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0393f49383b52759cbbe") }
सभी दस्तावेज़ प्रदर्शित करना
> db.demo288.find();
आउटपुट:
{ "_id" : ObjectId("5e4c0393f49383b52759cbbe"), "Name" : "Chris", "details" : [ { "CountryName" : "US", "Marks" : 78 }, { "CountryName" : "UK", "Marks" : 68 } ] }
$push का उपयोग करके एम्बेडेड सरणी में दस्तावेज़ जोड़ना
> db.demo288.update( {Name: "Chris"}, {$push:{ "details":{"CountryName" : "AUS", "Marks" : 98} }}, {upsert:true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
अपडेट के बाद दस्तावेज़ प्रदर्शित करना
> db.demo288.find();
आउटपुट:
{
"_id" : ObjectId("5e4c0393f49383b52759cbbe"),
"Name" : "Chris",
"details" : [
{ "CountryName" : "US", "Marks" : 78 },
{ "CountryName" : "UK", "Marks" : 68 },
{ "CountryName" : "AUS", "Marks" : 98 }
]
}
मुख्य बिंदु
$pushसरणी के अंत में नया तत्व जोड़ता है।upsert: trueविकल्प दस्तावेज़ न मिलने पर नया दस्तावेज़ बनाता है।- एम्बेडेड दस्तावेज़ सरणी में ऑब्जेक्ट जोड़ने के लिए सिंटैक्स:
{$push: {"fieldName": {embeddedObject}}}।
यह दृष्टिकोण संबंधपरक डेटाबेस में अलग तालिका बनाने के बजाय, एक ही दस्तावेज़ में संबंधित डेटा को संग्रहीत करने के लिए आदर्श है।