如何快速更新MongoDB中的标签记录

使用$along和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"
      }
   ]
}