如何在 MongoDB 中刪除文件中的特定資料?


可以使用 $unset。我們首先建立一個包含文件的集合 -

> db.demo20.insertOne(
...    {
...
...       "ListOfEmployee" : [
...          {
...             "EmployeeName1" : "John"
...          },
...          {
...             "EmployeeName2" : "Carol"
...          }
...       ],
...       "EmployeeName2" : []
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e138c3555d0fc6657d21f12")
}

以下是使用 find() 方法顯示集合中所有文件的查詢 -

> db.demo20.find();

這將生成以下輸出 -

{ "_id" : ObjectId("5e138c3555d0fc6657d21f12"), "ListOfEmployee" : [ { "EmployeeName1" : "John" }, { "EmployeeName2" : "Carol" } ], "EmployeeName2" : [ ] }

以下是刪除文件中特定資料的查詢 -

> db.demo20.update({ "EmployeeName2": { "$exists": 1 }},{ "$unset": { "EmployeeName2": "" } });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

以下是使用 find() 方法顯示集合中所有文件的查詢 -

> db.demo20.find();

這將生成以下輸出 -

{ "_id" : ObjectId("5e138c3555d0fc6657d21f12"), "ListOfEmployee" : [ { "EmployeeName1" : "John" }, { "EmployeeName2" : "Carol" } ] }

更新於: 01-Apr-2020

167 次瀏覽

開創你的職業生涯

透過完成課程來獲得認證

開始學習
廣告
© . All rights reserved.