MongoDB查询以更新标签

要更新MongoDB中的标签,请使用update命令。让我们创建一个包含文档的集合-

> db.demo713.insertOne(
... {
... tags:
...    [
...       {
...          id:101,
...          Name:"Tag-1"
...       },
...       {
...          id:102,
...          Name:"Tag-3"
...       },
...       {
...          id:103,
...          Name:"Tag-3"
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea8625a5d33e20ed1097b87")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo713.find();

这将产生以下输出-

{ "_id" : ObjectId("5ea8625a5d33e20ed1097b87"), "tags" : [ { "id" : 101, "Name" : "Tag-1" }, {
"id" : 102, "Name" : "Tag-3" }, { "id" : 103, "Name" : "Tag-3" } ] }

以下是更新标签的查询-

> db.demo713.update({"tags.id":102},{$set:{"tags.$.Name":"Tag-2"}},false,true);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在find()方法的帮助下显示集合中的所有文档-

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

这将产生以下输出-

{
   "_id" : ObjectId("5ea8625a5d33e20ed1097b87"),
   "tags" : [
      {
         "id" : 101,
         "Name" : "Tag-1"
      },
      {
         "id" : 102,
         "Name" : "Tag-2"
      },
      {
         "id" : 103,
         "Name" : "Tag-3"
      }
   ]
}