ডকুমেন্টসহ একটি কলেকশন তৈরি করা
> db.demo196.insertOne( ... { ... ... "Id" : "101", ... "details" : [ ... { ... "FirstName" : "Chris", ... "LastName" : "Brown", ... "Score" : 45 ... }, ... { ... "FirstName" : "David", ... "LastName" : "Miller", ... "Score" : 87 ... }, ... { ... "FirstName" : "John", ... "LastName" : "Doe", ... "Score" : 56 ... } ... ] ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5e3af6b103d395bdc21346d7") }
find() মেথড ব্যবহার করে সব ডকুমেন্ট দেখানো
> db.demo196.find();
এটি নিচের আউটপুট তৈরি করবে:
{ "_id" : ObjectId("5e3af6b103d395bdc21346d7"), "Id" : "101", "details" : [ { "FirstName" : "Chris", "LastName" : "Brown", "Score" : 45 }, { "FirstName" : "David", "LastName" : "Miller", "Score" : 87 }, { "FirstName" : "John", "LastName" : "Doe", "Score" : 56 } ] }
অন্য কী eşleşলে নির্দিষ্ট কী-ভ্যালু আপডেট করার কোয়েরি
> db.demo196.update({"details":{"$elemMatch":{"FirstName" : "David", "LastName" : "Miller"}}}, ... {"$set":{"details.$.Score":98}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
আপডেটের পর সব ডকুমেন্ট দেখানো
> db.demo196.find();
এটি নিচের আউটপুট তৈরি করবে:
{ "_id" : ObjectId("5e3af6b103d395bdc21346d7"), "Id" : "101", "details" : [ { "FirstName" : "Chris", "LastName" : "Brown", "Score" : 45 }, { "FirstName" : "David", "LastName" : "Miller", "Score" : 98 }, { "FirstName" : "John", "LastName" : "Doe", "Score" : 56 } ] }
ব্যাখ্যা: $elemMatch দিয়ে অ্যারে এলিমেন্টে একাধিক শর্ত মিলিয়ে সঠিক এলিমেন্ট খুঁজে বের করা হয়েছে, এবং পজিশনাল $ অপারেটর দিয়ে শুধু সেই এলিমেন্টের Score ফিল্ড আপডেট করা হয়েছে।