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

MongoDB-এ ফিল্ড অনুপস্থিত, null অথবা false হলে ডকুমেন্ট সিলেক্ট করা


$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 } ব্যবহার করুন।


  1. MongoDB-এ নির্দিষ্ট ফিল্ড না থাকা ডকুমেন্ট খুঁজে বের করা

  2. MongoDB-এ Not Null চেক করা ($ne: null)

  3. MySQL-এ NOT IN ক্লজ ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে ডেটা বের করা

  4. "The specified domain either does not exist or could not be contacted" এরর সমাধান