MongoDB में $push ऑपरेटर का उपयोग करके ऐरे में दस्तावेज़ जोड़ना
MongoDB एग्रीगेशन में $push ऑपरेटर का उपयोग करके ग्रुपिंग के दौरान दस्तावेज़ों को एक ऐरे में संचित किया जा सकता है। यह $group स्टेज के साथ उपयोग होता है।
उदाहरण: संग्रह और दस्तावेज़ बनाना
> db.demo399.insertOne({Name:"Chris",Age:21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610339fac4d418a017856d") }
> db.demo399.insertOne({Name:"David",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610341fac4d418a017856e") }
> db.demo399.insertOne({Name:"Chris",Age:21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610355fac4d418a017856f") }
> db.demo399.insertOne({Name:"Bob",Age:23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e61035efac4d418a0178570") }
> db.demo399.insertOne({Name:"David",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610364fac4d418a0178571") }
सभी दस्तावेज़ देखना
> db.demo399.find();
आउटपुट:
{ "_id" : ObjectId("5e610339fac4d418a017856d"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e610341fac4d418a017856e"), "Name" : "David", "Age" : 22 }
{ "_id" : ObjectId("5e610355fac4d418a017856f"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e61035efac4d418a0178570"), "Name" : "Bob", "Age" : 23 }
{ "_id" : ObjectId("5e610364fac4d418a0178571"), "Name" : "David", "Age" : 22 }
$group के साथ $push का उपयोग करके सभी दस्तावेज़ों को ऐरे में संचित करना
> db.demo399.aggregate([
{
$group: {
_id: null,
array: { $push: { Name: "$Name", Age: "$Age" } }
}
}
])
आउटपुट:
{ "_id" : null, "array" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David", "Age" : 22 }, { "Name" : "Chris", "Age" : 21 }, { "Name" : "Bob", "Age" : 23 }, { "Name" : "David", "Age" : 22 } ] }
व्याख्या:
_id: null- सभी दस्तावेज़ों को एक ही ग्रुप में रखता है$push- प्रत्येक दस्तावेज़ के लिए निर्दिष्ट ऑब्जेक्ट को ऐरे में जोड़ता है{ Name: "$Name", Age: "$Age" }- ऐरे में डालने के लिए ऑब्जेक्ट संरचना
संबंधित ऑपरेटर्स:
$addToSet- केवल अद्वितीय मान जोड़ता है (डुप्लिकेट नहीं)$pushअपडेट में - मौजूदा ऐरे में एलिमेंट जोड़ने के लिए:db.col.update({}, {$push: {arr: newValue}})$eachके साथ$push- एकाधिक मान:{$push: {arr: {$each: [1,2,3]}}}