如何選擇不包含特定欄位的 MongoDB 文件?


使用 MongoDB $exists 檢查特定欄位。如果該欄位不存在於文件中,需要使用 find() 顯示該文件。

使用文件建立集合 −

> db.demo612.insertOne({id:1,"Info":[{Name:"Chris",Age:21},{Name:"David"}]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e987372f6b89257f5584d87")
}

使用 find() 方法顯示集合中的所有文件 −

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

輸出如下 −

{
   "_id" : ObjectId("5e987372f6b89257f5584d87"),
   "id" : 1,
   "Info" : [
      {
         "Name" : "Chris",
         "Age" : 21
      },
      {
         "Name" : "David"
      }
   ]
}

以下是提取不包含特定欄位的 MongoDB 文件的查詢 −

> db.demo612.aggregate({$unwind: "$Info"},
... {$match: {"Info.Age":{$exists: false}}},
... {$project: {"Info.Name": 1}})

輸出如下 −

{ "_id" : ObjectId("5e987372f6b89257f5584d87"), "Info" : { "Name" : "David" } }

更新日期: 15-May-2020

219 次瀏覽

開啟你的 職業

完成課程獲取認證

開始
廣告
© . All rights reserved.