আপনি এর জন্য $elemMatch অপারেটর ব্যবহার করতে পারেন। আসুন প্রথমে নথি-
সহ একটি সংগ্রহ তৈরি করি> db.pushNewItemsDemo.insertOne( { "_id" :1, "StudentScore" : 56, "StudentOtherDetails" : [ { "StudentName" : "John", "StudentFriendName" : [ "Bob", "Carol" ] }, { "StudentName" : "David", "StudentFriendName" : [ "Mike", "Sam" ] } ] } ); { "acknowledged" : true, "insertedId" : 1 }
Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -
> db.pushNewItemsDemo.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : 1, "StudentScore" : 56, "StudentOtherDetails" : [ { "StudentName" : "John", "StudentFriendName" : [ "Bob", "Carol" ] }, { "StudentName" : "David", "StudentFriendName" : [ "Mike", "Sam" ] } ] }
একটি অবজেক্টের ভিতরে একটি অ্যারেতে নতুন আইটেমগুলিকে পুশ করার জন্য নিম্নলিখিত ক্যোয়ারী রয়েছে −
>db.pushNewItemsDemo.update({"_id":1,"StudentOtherDetails":{"$elemMatch":{"StudentName":"David"}}}, {"$push":{"StudentOtherDetails.$.StudentFriendName":"James"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
আসুন আমরা ডকুমেন্টগুলি আবার পরীক্ষা করি -
> db.pushNewItemsDemo.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : 1, "StudentScore" : 56, "StudentOtherDetails" : [ { "StudentName" : "John", "StudentFriendName" : [ "Bob", "Carol" ] }, { "StudentName" : "David", "StudentFriendName" : [ "Mike", "Sam", "James" ] } ] }