更新 mongo 文档

我有一个包含客户端数组的 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

                  }


神不在的星期二
浏览 158回答 1
1回答

暮色呼如

你失踪了positional operarorupdate := bson.M{      "$set": bson.M{             "clients.$.name": "Sam",       },}请注意更新中的美元符号。这在各种语言中都是一样的。您忽略了,但您可以在Go中更新后使用它。changeInfo
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go