更新 mongo 文档

Update mongo document

我有一个 mongo 文档,其中包含一组客户端。我希望能够通过用户 ID 更新客户名称。到目前为止,我有下面的代码。当我 运行 它得到多个写入错误。在我的数据库中只有一个具有该 _id 的文档。我该如何修复我的代码?

{

    "_id" : "999999999_9_clients",

    "clients" : [

        {

            "name" : "Joe",
            "age" : 7,
            "time" : "1563249601.932",
            "userid" : "6b528591-ad78-4b8b-9484-350853edcd44"

        },{

            "name" : "Mark",
            "age" : 17,
            "time" : "1563249601.932",
            "userid" : "7b528591-ad78-4b8b-9484-350853edcd44"
        }

    ],

}

代码:

key :="999999999_9_clients"

 

                filter := bson.M{"_id": key, "clients.userid": "6b528591-ad78-4b8b-9484-350853edcd44"}

                update := bson.M{

                                "$set": bson.M{

                                                "clients.name": "Sam",
                                 },

                }

                _, err := collection.UpdateOne(ctx, filter, update)

               

                if err != nil {

                             return err
                  }

 

你不见了positional operaror

update := bson.M{
      "$set": bson.M{
             "clients.$.name": "Sam",
       },
}

注意更新中的美元符号。

所有语言都一样。

您忽略了 changeInfo 但您可以在 Go 中更新后使用它。