MongoDB-তে $ne অপারেটর ব্যবহার করে নির্দিষ্ট প্রপার্টি থাকা ডকুমেন্ট খুঁজে বের করা
MongoDB-তে কোনো ফিল্ড (প্রপার্টি) আছে কিনা (null নয়) সেটি চেক করে ডকুমেন্ট খুঁজে বের করতে $ne: null কোয়েরি ব্যবহার করা হয়।
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.searchByPropertyName.insertOne({"FirstName":"Larry","Age":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbaf7af7219729fde21ddb5") }
> db.searchByPropertyName.insertOne({"FirstName":null,"Age":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbaf7b97219729fde21ddb6") }
> db.searchByPropertyName.insertOne({"FirstName":"John","Age":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbaf7c57219729fde21ddb7") }
> db.searchByPropertyName.insertOne({"FirstName":null,"Age":25});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbaf7d07219729fde21ddb8") }
> db.searchByPropertyName.insertOne({"FirstName":"David","Age":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbaf7df7219729fde21ddb9") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.searchByPropertyName.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cbaf7af7219729fde21ddb5"),
"FirstName" : "Larry",
"Age" : 23
}
{
"_id" : ObjectId("5cbaf7b97219729fde21ddb6"),
"FirstName" : null,
"Age" : 21
}
{
"_id" : ObjectId("5cbaf7c57219729fde21ddb7"),
"FirstName" : "John",
"Age" : 22
}
{
"_id" : ObjectId("5cbaf7d07219729fde21ddb8"),
"FirstName" : null,
"Age" : 25
}
{
"_id" : ObjectId("5cbaf7df7219729fde21ddb9"),
"FirstName" : "David",
"Age" : 20
}
ধাপ ৩: FirstName ফিল্ডে null নয় এমন ডকুমেন্ট খুঁজে বের করুন
> db.searchByPropertyName.find({FirstName: { $ne: null } }).pretty();
ফলাফল:
{
"_id" : ObjectId("5cbaf7af7219729fde21ddb5"),
"FirstName" : "Larry",
"Age" : 23
}
{
"_id" : ObjectId("5cbaf7c57219729fde21ddb7"),
"FirstName" : "John",
"Age" : 22
}
{
"_id" : ObjectId("5cbaf7df7219729fde21ddb9"),
"FirstName" : "David",
"Age" : 20
}
ব্যাখ্যা:
{FirstName: {$ne: null}}- FirstName ফিল্ডের মান null নয় এমন ডকুমেন্টগুলো রিটার্ন করে- Larry, John, David - তিনজনের FirstName আছে (null নয়)
- দুটি ডকুমেন্টে FirstName: null থাকায় সেগুলো বাদ পড়েছে
বিকল্প পদ্ধতি - $exists অপারেটর:
// ফিল্ড আছে কিনা চেক করতে (null হলেও true রিটার্ন করে)
db.searchByPropertyName.find({FirstName: {$exists: true}})
// ফিল্ড আছে এবং null নয় এমন ডকুমেন্ট
db.searchByPropertyName.find({FirstName: {$exists: true, $ne: null}})
পার্থক্য: $exists: true ফিল্ড উপস্থিত থাকলে true রিটার্ন করে (মান null হলেও)। $ne: null ফিল্ডের মান null নয় তা নিশ্চিত করে।