কম্পিউটার টিউটোরিয়াল

MongoDB-এ $all অপারেটর ব্যবহার করে অ্যারে মিলানো

MongoDB-এ $all অপারেটর: অ্যারেতে সব নির্দিষ্ট উপাদান থাকা ডকুমেন্ট বের করা

$all অপারেটর দিয়ে এমন ডকুমেন্ট খুঁজা যায় যাদের অ্যারে ফিল্ডে সব নির্দিষ্ট উপাদান উপস্থিত থাকে (অর্ডার মানে না, অতিরিক্ত উপাদান থাকতে পারে)।

উদাহরণ: ডেটা ইনসার্ট

> db.demo163.insertOne({ "ClientDetails": [ {"ClientName": "Chris"}, {"ClientName": "David"} ] });
{ "acknowledged" : true, "insertedId" : ObjectId("5e3686d49e4f06af551997c5") }
> db.demo163.insertOne({ "ClientDetails": [ {"ClientName": "Mike"}, {"ClientName": "Sam"} ] });
{ "acknowledged" : true, "insertedId" : ObjectId("5e3686d59e4f06af551997c6") }
> db.demo163.insertOne({ "ClientDetails": [ {"ClientName": "Robert"}, {"ClientName": "Sam"} ] });
{ "acknowledged" : true, "insertedId" : ObjectId("5e3686d59e4f06af551997c7") }

সব ডকুমেন্ট দেখানো

> db.demo163.find();

আউটপুট:

{ "_id" : ObjectId("5e3686d49e4f06af551997c5"), "ClientDetails" : [ { "ClientName" : "Chris" }, { "ClientName" : "David" } ] }
{ "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] }
{ "_id" : ObjectId("5e3686d59e4f06af551997c7"), "ClientDetails" : [ { "ClientName" : "Robert" }, { "ClientName" : "Sam" } ] }

$all কোয়ারি (ClientDetails-এ "Mike" ও "Sam" দুটোই থাকা ডকুমেন্ট)

> db.demo163.find({"ClientDetails": {$all: [{"ClientName": "Mike"}, {"ClientName": "Sam"}]}});

আউটপুট:

{ "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] }

ব্যাখ্যা

  • {$all: [{"ClientName":"Mike"}, {"ClientName":"Sam"}]} — ClientDetails অ্যারেতে দুটোই অবজেক্ট থাকতে হবে (অর্ডার নয়)۔
  • তৃতীয় ডকুমেন্টে "Sam" আছে কিন্তু "Mike" নেই, তাই মিলেনি।
  • $all স্ট্রিং অ্যারেতেও কাজ করে: {tags: {$all: ["mongodb", "database"]}}।
  • ইন্ডেক্স ব্যবহার করে (মাল্টিকি ইন্ডেক্স) তাই দ্রুত চলে।

ফারক: $in — যেকোনো একটি মেললেই চলবে। $all — সবগুলো মেলতে হবে।

  1. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  2. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  3. MongoDB-এ updateOne এবং $push ব্যবহার করে নেস্টেড অ্যারে আপডেট করা

  4. MongoDB-এ এমবেডেড ডকুমেন্টের অ্যারে ফিল্টার করা (৩ লেভেল)