【问题标题】:Update mongo document更新 mongo 文档
【发布时间】:2021-04-23 09:30:59
【问题描述】:

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

 

【问题讨论】:

    标签: mongodb go mongo-go mongo-go-driver


    【解决方案1】:

    你不见了positional operaror

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

    注意更新中的美元符号。

    所有语言都一样。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-18
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多