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

MongoDB-তে অ্যারের সব এলিমেন্ট নির্দিষ্ট শর্তের চেয়ে ছোট কিনা চেক করা ($not এবং $gt ব্যবহার করে)

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 ব্যবহার করেও করা যায়।

  1. MongoDB-তে নেস্টেড অ্যারের সব এলিমেন্ট কন্ডিশন ম্যাচ করলে ফিল্টার করা

  2. MongoDB-এ শুধু ইন্টিজার টাইপের এজ ফিল্ডवाले ডকুমেন্ট বের করা

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

  4. MySQL-এ CHAR_LENGTH() ব্যবহার করে ৪ ক্যারেক্টার চেয়ে ছোট স্ট্রিং বের করা