要忽略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" } }