MongoDB-তে $ne (Not Equal) অপারেটর ব্যবহার করে কোয়েরি করা
MongoDB-তে কোনো ফিল্ডের মান নির্দিষ্ট ভ্যালু থেকে ভিন্ন থাকা ডকুমেন্ট খুঁজে বের করতে $ne অপারেটর ব্যবহার করা হয়।
সিন্ট্যাক্স:
db.yourCollectionName.find({yourFieldName: {$ne: yourValue}}).pretty();
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.notEqaulToDemo.insertOne({"StudentName":"Larry","StudentMathMarks":68});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a6bde8cc557214c0ded") }
> db.notEqaulToDemo.insertOne({"StudentName":"Chris","StudentMathMarks":88});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a79de8cc557214c0dee") }
> db.notEqaulToDemo.insertOne({"StudentName":"David","StudentMathMarks":45});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a89de8cc557214c0def") }
> db.notEqaulToDemo.insertOne({"StudentName":"Carol","StudentMathMarks":69});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a97de8cc557214c0df0") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.notEqaulToDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cbd3a6bde8cc557214c0ded"),
"StudentName" : "Larry",
"StudentMathMarks" : 68
}
{
"_id" : ObjectId("5cbd3a79de8cc557214c0dee"),
"StudentName" : "Chris",
"StudentMathMarks" : 88
}
{
"_id" : ObjectId("5cbd3a89de8cc557214c0def"),
"StudentName" : "David",
"StudentMathMarks" : 45
}
{
"_id" : ObjectId("5cbd3a97de8cc557214c0df0"),
"StudentName" : "Carol",
"StudentMathMarks" : 69
}
ধাপ ৩: StudentMathMarks ৮৮ নয় এমন ডকুমেন্ট খুঁজে বের করুন
> db.notEqaulToDemo.find({StudentMathMarks: {$ne: 88}}).pretty();
ফলাফল:
{
"_id" : ObjectId("5cbd3a6bde8cc557214c0ded"),
"StudentName" : "Larry",
"StudentMathMarks" : 68
}
{
"_id" : ObjectId("5cbd3a89de8cc557214c0def"),
"StudentName" : "David",
"StudentMathMarks" : 45
}
{
"_id" : ObjectId("5cbd3a97de8cc557214c0df0"),
"StudentName" : "Carol",
"StudentMathMarks" : 69
}
ব্যাখ্যা:
{$ne: 88}- "Not Equal to 88" মানে ৮৮ ছাড়া সব ভ্যালু- Chris (৮৮) বাদে বাকি ৩টি ডকুমেন্ট রিটার্ন হয়েছে
$neনাল (null) ভ্যালুও ম্যাচ করে (যদি ফিল্ড থাকে কিন্তু মান null হয়)
দ্রষ্টব্য: $ne ইনডেক্স ব্যবহার করে না (full collection scan করে), তাই বড় কালেকশনে পারফরম্যান্সে প্রভাব পড়তে পারে। সম্ভব হলে positieভ শর্ত ($eq, $gt, $lt ইত্যাদি) ব্যবহার করা ভালো।