$in অপারেটর ব্যবহার করে false, null এবং missing ফিল্ড একসাথে ফিল্টার করা
MongoDB-এ { field: { $in: [false, null] } } কোয়েরিটি তিনটি কেসই কভার করে: ফিল্ডের মান false, null, অথবা ফিল্ডটি ডকুমেন্টে নেই (missing)।
নমুনা ডেটা
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":1,"StudentName":"Larry"}); // ফিল্ড নেই
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":2,"StudentName":"Mike","hasAgeGreaterThanOrEqualTo18":true});
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":3,"StudentName":"Carol","hasAgeGreaterThanOrEqualTo18":false});
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":4,"StudentName":"Sam","hasAgeGreaterThanOrEqualTo18":null});
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":5,"StudentName":"David","hasAgeGreaterThanOrEqualTo18":false});
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":6,"StudentName":"Chris","hasAgeGreaterThanOrEqualTo18":null});
> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":7,"StudentName":"Robert","hasAgeGreaterThanOrEqualTo18":true});
কোয়েরি: hasAgeGreaterThanOrEqualTo18 false, null অথবা missing
> db.selectMongoDBDocumentsWithSomeCondition.find({
"hasAgeGreaterThanOrEqualTo18": { $in: [false, null] }
}).pretty();
ফলাফল (৫টি ডকুমেন্ট):
// StudentId: 1 (missing), 3 (false), 4 (null), 5 (false), 6 (null)
{
"_id" : ObjectId("5c9010215705caea966c557f"), "StudentId" : 1, "StudentName" : "Larry"
}
{
"_id" : ObjectId("5c9010795705caea966c5581"), "StudentId" : 3, "StudentName" : "Carol", "hasAgeGreaterThanOrEqualTo18" : false
}
{
"_id" : ObjectId("5c9010865705caea966c5582"), "StudentId" : 4, "StudentName" : "Sam", "hasAgeGreaterThanOrEqualTo18" : null
}
{
"_id" : ObjectId("5c9010945705caea966c5583"), "StudentId" : 5, "StudentName" : "David", "hasAgeGreaterThanOrEqualTo18" : false
}
{
"_id" : ObjectId("5c9010a45705caea966c5584"), "StudentId" : 6, "StudentName" : "Chris", "hasAgeGreaterThanOrEqualTo18" : null
}
নোট: $in: [false, null] অটোমেটিক্যালি missing ফিল্ডও ম্যাচ করে। শুধু explicit false/null চাইলে { $in: [false, null], $exists: true } ব্যবহার করুন।