MongoDB में सबडॉक्यूमेंट की सरणी में नया सबडॉक्यूमेंट जोड़ने के लिए $push ऑपरेटर का उपयोग करें।
उदाहरण
सबडॉक्यूमेंट सरणी वाला दस्तावेज़ बनाएं:
> db.subDocumentToSubDocumentDemo.insertOne(
{
"_id": 101,
"StudentName": "Larry",
"StudentAge": 21,
"StudentDetails": [
{
"StudentCountryName": "US",
"StudentFavouriteSubjectList": []
}
]
}
);
{ "acknowledged" : true, "insertedId" : 101 }
दस्तावेज़ देखें:
> db.subDocumentToSubDocumentDemo.find().pretty();
{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [ ] } ] }
नया सबडॉक्यूमेंट StudentDetails सरणी में जोड़ें
> db.subDocumentToSubDocumentDemo.update(
{ "_id": 101 },
{
"$push": {
"StudentDetails": {
"StudentCountryName": "UK",
"StudentFavouriteSubjectList": ["MongoDB", "Java"]
}
}
}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
परिणाम जांचें:
> db.subDocumentToSubDocumentDemo.find().pretty();
{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [ ] }, { "StudentCountryName" : "UK", "StudentFavouriteSubjectList" : [ "MongoDB", "Java" ] } ] }
मुख्य बिंदु:
$pushसरणी के अंत में नया तत्व जोड़ता है- पूरा सबडॉक्यूमेंट ऑब्जेक्ट के रूप में निर्दिष्ट करें
- सरणी फील्ड नाम (
StudentDetails) के बाद नए ऑब्जेक्ट का विवरण दें
उन्नत विकल्प
$push के साथ मॉडिफायर का उपयोग करें:
db.collection.update(
{_id: 101},
{$push: {StudentDetails: {$each: [doc1, doc2], $slice: -5, $sort: {StudentCountryName: 1}}}}
)
$each- एक साथ कई दस्तावेज़ जोड़ें$slice- सरणी आकार सीमित करें (ऋणात्मक = अंत से)$sort- सरणी को क्रमबद्ध रखें