如何在 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 次浏览

开创你的职业生涯

通过完成课程来获得认证

开始学习
广告