如何在 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" : [ { }, { } ] }
廣告