忽略MongoDB文档中的null值
要忽略MongoDB中的null值,请在Aggregate()中使用"$ne":null。让我们使用文档创建一个集合
>db.demo722.insertOne(
... {
... id:101,
... details:[
... {Name:""},
... {Name:"David"},
... {Name:null},
... {Name:"Carol"}
... ]
... }
...);
{
"acknowledged":true,
"insertedId":ObjectId("5eab07d543417811278f5889")
}
在find()方法的帮助下显示集合中的所有文档-
> db.demo722.find();
这将产生以下输出-
{ "_id" : ObjectId("5eab07d543417811278f5889"), "id" : 101, "details" : [ { "Name" : "" }, { "Name" : "David" }, { "Name" : null }, { "Name" : "Carol" } ] }
以下是使用$ne忽略MongoDB中的空值的查询-
> db.demo722.aggregate([ ... {"$unwind": "$details"}, ... ... {"$match": { "details.Name" :{ "$ne" : null } } } ... ])
这将产生以下输出-
{ "_id" : ObjectId("5eab07d543417811278f5889"), "id" : 101, "details" : { "Name" : "" } } { "_id" : ObjectId("5eab07d543417811278f5889"), "id" : 101, "details" : { "Name" : "David" } } { "_id" : ObjectId("5eab07d543417811278f5889"), "id" : 101, "details" : { "Name" : "Carol" } }