要在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" } }