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

MongoDB-তে $exists এবং $ne অপারেটর একসাথে ব্যবহার করা

MongoDB-এ $exists ফিল্ড আছে কিনা চেক করে, আর $ne (not equal) নির্দিষ্ট মান নয় কিনা চেক করে। দুটো মিলিয়ে ফিল্ড এক্সিস্ট করে এবং খালি/নাল নয় এমন ডকুমেন্ট খুঁজা যায়।

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

existsDemo কালেকশনে চারটি ডকুমেন্ট ইনসার্ট করি যাতে Name এবং Age থাকে।

> db.existsDemo.insertOne({"Name":"Chris","Age":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c3916d78f205348bc650") }
> db.existsDemo.insertOne({"Name":"","Age":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c39a6d78f205348bc651") }
> db.existsDemo.insertOne({"Name":null,"Age":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c3a66d78f205348bc652") }
> db.existsDemo.insertOne({"Age":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c3c36d78f205348bc653") }

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

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

আউটপুট:

{ "_id" : ObjectId("5cd7c3916d78f205348bc650"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5cd7c39a6d78f205348bc651"), "Name" : "", "Age" : null }
{ "_id" : ObjectId("5cd7c3a66d78f205348bc652"), "Name" : null, "Age" : 24 }
{ "_id" : ObjectId("5cd7c3c36d78f205348bc653"), "Age" : 23 }

$exists এবং $ne একসাথে ব্যবহার করা

Name ফিল্ড এক্সিস্ট করে এবং খালি স্ট্রিং নয় এমন ডকুমেন্ট:

> db.existsDemo.find({ "$and": [ { "Name": { "$exists": true } }, { "Name": { "$ne": "" } } ] });

আউটপুট:

{ "_id" : ObjectId("5cd7c3916d78f205348bc650"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5cd7c3a66d78f205348bc652"), "Name" : null, "Age" : 24 }

ব্যাখ্যা:

  • ১ম ডকুমেন্ট: Name আছে এবং "Chris" (খালি নয়) — মেলেছে
  • ২য় ডকুমেন্ট: Name আছে কিন্তু খালি স্ট্রিং — মেলেনি ($ne: "" ফেলেছে)
  • ৩য় ডকুমেন্ট: Name আছে কিন্তু null — মেলেছে (null ≠ "")
  • ৪থ ডকুমেন্ট: Name ফিল্ডই নেই — মেলেনি ($exists: true ফেলেছে)

টিপস: শুধু non-null এবং non-empty চাইলে { Name: { $exists: true, $ne: null, $ne: "" } } ব্যবহার করুন।

  1. MongoDB-তে আপডেট সময় ওভাররাইট প্রতিরোধ করা (সাব-ডকুমেন্ট আপডেট)

  2. MongoDB-এ NumberLong(x) এবং NumberLong("x") এর পার্থক্য

  3. Python এবং MongoDB (PyMongo) ব্যবহার গাইড

  4. MongoDB এগ্রিগেশন ও প্রজেকশন: $project স্টেজ ব্যবহার