在MongoDB中查询空值?

要在MongoDB中查询空值,请使用$ne运算符。首先让我们创建一个包含文档的集合-

> db.queryingNullDemo.insertOne(
...    {
...       "StudentName":"Larry",
...       "StudentDetails":
...       {
...          "StudentAge":21,
...          "StudentSubject":"MongoDB"
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd00bec588d4a6447b2e05f")
}
> db.queryingNullDemo.insertOne(
...    {
...       "StudentName":"Sam",
...       "StudentDetails":
...       {
...          "StudentAge":23,
...          "StudentSubject":null
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd00c00588d4a6447b2e060")
}

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

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

这将产生以下输出-

{
   "_id" : ObjectId("5cd00bec588d4a6447b2e05f"),
   "StudentName" : "Larry",
   "StudentDetails" : {
      "StudentAge" : 21,
      "StudentSubject" : "MongoDB"
      }
}
{
   "_id" : ObjectId("5cd00c00588d4a6447b2e060"),
   "StudentName" : "Sam",
   "StudentDetails" : {
      "StudentAge" : 23,
      "StudentSubject" : null
   }
}

以下是如何查询null-

> db.queryingNullDemo.find({'StudentDetails.StudentSubject': {$ne: null}});

这将产生以下输出-

{ "_id" : ObjectId("5cd00bec588d4a6447b2e05f"), 
"StudentName" : "Larry", 
"StudentDetails" : { "StudentAge" : 21, "StudentSubject" : "MongoDB" } }