MongoDB-এ অ্যারে এলিমেন্টের শর্ত যাচাই
MongoDB-এ একটি ডকুমেন্টের অ্যারে-র সব এলিমেন্ট নির্দিষ্ট শর্ত পূরণ করছে কিনা তা যাচাই করতে every() ফাংশন ব্যবহার করা হয়।
উদাহরণ: ছাত্রদের নম্বর যাচাই
১. কালেকশন ও ডেটা তৈরি
> db.arrayConditionDemo.insertOne({"Name":"John","Marks":[40,43,45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd06de8cc557214c0e1a") }
> db.arrayConditionDemo.insertOne({"Name":"Mike","Marks":[45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd17de8cc557214c0e1b") }
> db.arrayConditionDemo.insertOne({"Name":"Chris","Marks":[43,45,59,69,78,89]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd3cde8cc557214c0e1c") }
২. সব ডকুমেন্ট দেখুন
> db.arrayConditionDemo.find().pretty();
৩. শর্ত যাচাই: সব নম্বর ৪০-১০০ এর মধ্যে কিনা
> db.arrayConditionDemo.find("return this.Marks.every(function(m) { return (m >= 40 && m<= 100) })");
আউটপুট
{ "_id" : ObjectId("5cbdbd06de8cc557214c0e1a"), "Name" : "John", "Marks" : [ 40, 43, 45 ] }
{ "_id" : ObjectId("5cbdbd17de8cc557214c0e1b"), "Name" : "Mike", "Marks" : [ 45 ] }
{ "_id" : ObjectId("5cbdbd3cde8cc557214c0e1c"), "Name" : "Chris", "Marks" : [ 43, 45, 59, 69, 78, 89 ] }
ব্যাখ্যা
every()জাভাস্ক্রিপ্ট অ্যারে মেথড, যা সব এলিমেন্ট শর্ত মেনে থাকলেtrueরিটার্ন করে।- এই কোয়েরিতে
this.Marksহলো প্রতিটি ডকুমেন্টের Marks অ্যারে। - ফাংশন
m >= 40 && m <= 100প্রতিটি মার্কের জন্য চেক করে।
আধুনিক বিকল্প (MongoDB ৪.৪+)
এগ্রিগেশন পাইপলাইনে $allElementsTrue অপারেটর ব্যবহার করা আরও পারফরম্যান্স-ফ্রেন্ডলি।