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

MongoDB-তে $all অপারেটর ব্যবহার করে সঠিক অ্যারে ম্যাচ করা

MongoDB-এ $all অপারেটর ব্যবহার করে যেসব ডকুমেন্টের অ্যারেতে নির্দিষ্ট সকল মান উপস্থিত আছে (অর্ডের নির্বিশেষে) সেগুলো খুঁজে বের করা যায়।

নমুনা ডেটা তৈরি করা

findDocumentExactlySameInArrayDemo কালেকশনে চারটি ডকুমেন্ট ইনসার্ট করি।

> db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["C++","Java","MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69a5f57806ebf1256f12e") }
> db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["MySQL","Java","MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69ac057806ebf1256f12f") }
> db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["C#","Python","MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69ad457806ebf1256f130") }
> db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["MySQL","C","MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69adf57806ebf1256f131") }

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

> db.findDocumentExactlySameInArrayDemo.find().pretty();

আউটপুট:

{ "_id" : ObjectId("5cd69a5f57806ebf1256f12e"), "TechnicalSubjects" : [ "C++", "Java", "MongoDB" ] }
{ "_id" : ObjectId("5cd69ac057806ebf1256f12f"), "TechnicalSubjects" : [ "MySQL", "Java", "MongoDB" ] }
{ "_id" : ObjectId("5cd69ad457806ebf1256f130"), "TechnicalSubjects" : [ "C#", "Python", "MongoDB" ] }
{ "_id" : ObjectId("5cd69adf57806ebf1256f131"), "TechnicalSubjects" : [ "MySQL", "C", "MongoDB" ] }

$all দিয়ে সঠিক ম্যাচ খুঁজা

"MySQL", "Java", "MongoDB" — এই তিনটি সবই আছে এমন ডকুমেন্ট:

> db.findDocumentExactlySameInArrayDemo.find({ "TechnicalSubjects": { "$all": ["MySQL","Java","MongoDB"] } });

আউটপুট:

{ "_id" : ObjectId("5cd69ac057806ebf1256f12f"), "TechnicalSubjects" : [ "MySQL", "Java", "MongoDB" ] }

ব্যাখ্যা: শুধু দ্বিতীয় ডকুমেন্টে তিনটি মানই আছে। $all অর্ডের apari না করে, শুধু সকল মান উপস্থিত থাকা চেক করে।

  1. MongoDB-এ গড় (Average) এর চেয়ে বড় মান वाले ডকুমেন্ট বের করা

  2. MongoDB-এ অ্যারেতে ম্যাচ করা অবজেক্টের সংখ্যা অনুযায়ী ডকুমেন্ট খোঁজা ($where / Aggregation)

  3. MongoDB-এ নির্দিষ্ট FirstName এবং LastName সম্বয় ডকুমেন্ট খোঁজা ($and + $in)

  4. MongoDB-এ bulkWrite() দিয়ে এক কোয়েরিতে একাধিক ডকুমেন্ট আপডেট করা