如何检查 MongoDB 中的字段是否包含空值?

您可以使用 $type 运算符来检查某个字段是否包含空值。让我们首先创建一个包含文档的集合。我们还在一个字段中插入了一个空值 -

> db.nullDemo.insertOne({"FirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc68a1eac184d684e3fa270")
}
> db.nullDemo.insertOne({"FirstName":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc68a25ac184d684e3fa271")
}
> db.nullDemo.insertOne({"FirstName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc68a2cac184d684e3fa272")
}

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

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

这将产生以下输出。其中一个字段为空 -

{ "_id" : ObjectId("5cc68a1eac184d684e3fa270"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5cc68a25ac184d684e3fa271"), "FirstName" : null }
{ "_id" : ObjectId("5cc68a2cac184d684e3fa272"), "FirstName" : "Robert" }

这是检查字段是否包含空值的查询。检查字段“名字” -

> db.nullDemo.find( { FirstName: { $type: 10 } } );

这将产生以下输出 -

{ "_id" : ObjectId("5cc68a25ac184d684e3fa271"), "FirstName" : null }