MongoDB-এ অ্যারের সব এলিমেন্ট নির্দিষ্ট মানের চেয়ে ছোট (less than) কিনা চেক করতে $not এবং $gt কান্বিনেশন ব্যবহার করা হয়।
নমুনা ডেটা তৈরি করা
arrayElementsNotGreaterThanDemo কালেকশনে চারটি ডকুমেন্ট ইনসার্ট করি যাতে Scores অ্যারে থাকে।
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[89,43,32,45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9e9f9b50a6c6dd317adb3") }
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[32,33,34,40]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9ea13b50a6c6dd317adb4") }
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[45,56,66,69]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9ea25b50a6c6dd317adb5") }
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[46,66,77,88]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9ea3cb50a6c6dd317adb6") }
সকল ডকুমেন্ট দেখানো
> db.arrayElementsNotGreaterThanDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd9e9f9b50a6c6dd317adb3"), "Scores" : [ 89, 43, 32, 45 ] }
{ "_id" : ObjectId("5cd9ea13b50a6c6dd317adb4"), "Scores" : [ 32, 33, 34, 40 ] }
{ "_id" : ObjectId("5cd9ea25b50a6c6dd317adb5"), "Scores" : [ 45, 56, 66, 69 ] }
{ "_id" : ObjectId("5cd9ea3cb50a6c6dd317adb6"), "Scores" : [ 46, 66, 77, 88 ] }
সব এলিমেন্ট ৪৫-এর চেয়ে ছোট বা সমান হলে খুঁজা
$not: { $gt: 45 } মানে "45-এর চেয়ে বড় নয়" — অর্থাৎ সব এলিমেন্ট ≤ 45।
> db.arrayElementsNotGreaterThanDemo.find({ Scores: { $not: { $gt: 45 } } });
আউটপুট:
{ "_id" : ObjectId("5cd9ea13b50a6c6dd317adb4"), "Scores" : [ 32, 33, 34, 40 ] }
ব্যাখ্যা: শুধু দ্বিতীয় ডকুমেন্টের সব স্কোর ৪৫ বা তার কম। প্রথমটিয়ে ৮৯ আছে, তৃতীয়ে ৫৬, ৬৬, ৬৯, চতুর্থে ৪৬, ৬৬, ৭৭, ৮৮ — যেগুলো ৪৫-এর চেয়ে বড়।
বিকল্প: MongoDB 3.6+ এ $expr এবং $allElementsTrue ব্যবহার করেও করা যায়।