在MongoDB中检查null吗?

我们将在此处使用Null类型。以下是具有别名的空类型-

类型别名
1“双”
2“串”
目的3“目的”
数组4“数组”
二进制数据5“ binData”
未定义6“未定义”
对象编号7“ objectId”
布尔型8“布尔”
日期9“日期”
空值10“空值”
正则表达式11“正则表达式”

以下是类型10的语法,即null-

db.yourCollectionName.find({"yourFieldName":{ $type: 10 } });

上面的语法将仅查找具有空值的那些文档。首先让我们创建一个包含文档的集合-

> db.mongoDbEqualDemo.insertOne({"Age":34});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e9121a844af18acdffa3")
}
> db.mongoDbEqualDemo.insertOne({"Age":""});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e9161a844af18acdffa4")
}
> db.mongoDbEqualDemo.insertOne({"Age":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e9191a844af18acdffa5")
}
> db.mongoDbEqualDemo.insertOne({"Age":56});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e91e1a844af18acdffa6")
}
> db.mongoDbEqualDemo.insertOne({});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e9261a844af18acdffa7")
}
> db.mongoDbEqualDemo.insertOne({"Age":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7e92e1a844af18acdffa8")
}

以下是在find()方法的帮助下显示集合中所有文档的查询-

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

这将产生以下输出-

{ "_id" : ObjectId("5cd7e9121a844af18acdffa3"), "Age" : 34 }
{ "_id" : ObjectId("5cd7e9161a844af18acdffa4"), "Age" : "" }
{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e91e1a844af18acdffa6"), "Age" : 56 }
{ "_id" : ObjectId("5cd7e9261a844af18acdffa7") }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }

以下是仅检查等于空值的查询-

> db.mongoDbEqualDemo.find({"Age":{ $type: 10 } });

这将产生以下输出-

{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }