忽略 MongoDB 文件中的空值


要在 MongoDB 中忽略空值,請在 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" } }

更新於: 15-May-2020

2K+ 瀏覽量

開啟您的事業

透過完成課程獲得認證

入門
廣告
© . All rights reserved.