如何在 MongoDB 中排除陣列型別欄位值?


若要排除陣列型別欄位值,請在 MongoDB 中使用 delete()。我們透過文件建立一個集合 -

> db.demo464.insertOne(
... {
...
...    "id" : "101",
...    "details": [
...       {
...          Name:"Chris"
...       },
...       {
...          Name:"David"
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7f8832cb66ccba22cc9dda")
}

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

> db.demo464.find();

這會產生以下輸出 -

{ "_id" : ObjectId("5e7f8832cb66ccba22cc9dda"), "id" : "101", "details" : [ { "Name" : "Chris" }, {
"Name" : "David" } ] }

以下是排除陣列型別欄位值的查詢 -

> db.demo464.find({id: "101"}).forEach(function(mongoDocument) {
...
... var details = mongoDocument.details;
... for(var j = 0; j − details.length; ++j) {
... var array = details[j];
... delete (array["Name"]);
...
... }
... db.demo464.save(mongoDocument);
... });

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

> db.demo464.find();

這會產生以下輸出 -

{ "_id" : ObjectId("5e7f8832cb66ccba22cc9dda"), "id" : "101", "details" : [ { }, { } ] }

更新於: 2020 年 5 月 11 日

302 次瀏覽

開啟您的 職業 生涯

完成課程,獲得認證

開始學習
廣告