$push ऑपरेटर से ऐरे फ़ील्ड में नया डॉक्यूमेंट जोड़ें
किसी मौजूदा डॉक्यूमेंट के ऐरे फ़ील्ड में नया सबडॉक्यूमेंट जोड़ने के लिए update() के साथ $push ऑपरेटर का उपयोग करें।
उदाहरण: संग्रह बनाना
> db.demo177.insertOne({
"Id": "101",
"details": [
{"StudentName": "Chris", "Scores": [67, 71, 74], "SubjectName": ["MySQL", "Java"]},
{"StudentName": "David", "Scores": [89, 98, 45], "SubjectName": ["PL/SQL", "C"]}
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e384b2b9e4f06af551997f4") }
डॉक्यूमेंट देखना (पहले)
> db.demo177.find().pretty();
{
"_id": ObjectId("5e384b2b9e4f06af551997f4"),
"Id": "101",
"details": [
{"StudentName": "Chris", "Scores": [67, 71, 74], "SubjectName": ["MySQL", "Java"]},
{"StudentName": "David", "Scores": [89, 98, 45], "SubjectName": ["PL/SQL", "C"]}
]
}
ऐरे में नया डॉक्यूमेंट जोड़ने की क्वेरी
> db.demo177.update(
{"Id": "101"},
{
$push: {
"details": {
"StudentName": "Chris",
"Scores": [90, 91, 94],
"SubjectName": ["MongoDB", "SQL Server"]
}
}
}
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
परिणाम जांचना
> db.demo177.find().pretty();
{
"_id": ObjectId("5e384b2b9e4f06af551997f4"),
"Id": "101",
"details": [
{"StudentName": "Chris", "Scores": [67, 71, 74], "SubjectName": ["MySQL", "Java"]},
{"StudentName": "David", "Scores": [89, 98, 45], "SubjectName": ["PL/SQL", "C"]},
{"StudentName": "Chris", "Scores": [90, 91, 94], "SubjectName": ["MongoDB", "SQL Server"]}
]
}
नया सबडॉक्यूमेंट details ऐरे के अंत में जुड़ गया।
संबंधित: ऐरे की शुरुआत में जोड़ने के लिए
$pushके साथ$position: 0उपयोग करें; डुप्लिकेट रोकने के लिए$addToSetउपयोग करें।