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

MongoDB-এ true/false মান অনুযায়ী কুয়েরি করা

বুলিয়ান ফিল্ড এবং নেস্টেড ফিল্ডের অস্তিত্ব চেক করে কুয়েরি

MongoDB-এ true/false মান বা কোনো ফিল্ড আছে কিনা ($exists) চেক করে ডকুমেন্ট ফিল্টার করা যায়। নেস্টেড অ্যারে অবজেক্টের ফিল্ড চেক করতে ডট নোটেশন ব্যবহার করতে হয়।

উদাহরণ: জটিল স্ট্রাকচার সহ ডকুমেন্ট তৈরি

> db.demo367.insertOne({ "Id" : "102", "details" : [ { "Name" : "David"}, { "Age" : 23, "CountryName" : "UK"} ], "isMarried" : false });
{ "acknowledged" : true, "insertedId" : ObjectId("5e57e0b62ae06a1609a00ae8") }
> db.demo367.insertOne({ "Id" : "101", "details" : [ { "Name" : "Chris", "Subject" : [ "MySQL" ] }, { "Age" : 21, "CountryName" : "US"} ], "isMarried" : true });
{ "acknowledged" : true, "insertedId" : ObjectId("5e57e0be2ae06a1609a00ae9") }

সমস্ত ডকুমেন্ট

> db.demo367.find();
{ "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [ { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false }
{ "_id" : ObjectId("5e57e0be2ae06a1609a00ae9"), "Id" : "101", "details" : [ { "Name" : "Chris", "Subject" : [ "MySQL" ] }, { "Age" : 21, "CountryName" : "US" } ], "isMarried" : true }

Subject ফিল্ড নেই এমন ডকুমেন্ট খুঁজে বের করা

> db.demo367.find({"details.Subject": { $exists: false}});

ফলাফল

{ "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [ { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false }

ব্যাখ্যা

  • details.Subject: ডট নোটেশন ব্যবহার করে অ্যারেতে থাকা অবজেক্টের Subject ফিল্ড এক্সেস করা।
  • $exists: false: ফিল্ডটি ডকুমেন্টে অনুপস্থিত থাকা ডকুমেন্ট সিলেক্ট করে।
  • isMarried: true/false দিয়ে সরাসরি কুয়েরি করা যায়: db.demo367.find({isMarried: true})।

টিপ: বুলিয়ান ফিল্ডে ইনডেক্স দিলে কুয়েরি পারফরম্যান্স বাড়ে।

  1. MongoDB-এ নির্দিষ্ট ফিল্ডের সব ডকুমেন্টের মান যোগ করা (aggregate $sum)

  2. MongoDB অ্যাগ্রিগেশন দিয়ে সব ডকুমেন্ট জুড়ে ডISTINCT মান গণনা করা

  3. MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা

  4. MongoDB-এ "@email" স্ট্রিং সার্চ করা ফিল্ড ভ্যালুতে