我有一个包含客户端数组的 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 }
1 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
你失踪了positional operaror
update := bson.M{
"$set": bson.M{
"clients.$.name": "Sam",
},
}
请注意更新中的美元符号。
这在各种语言中都是一样的。
您忽略了,但您可以在Go中更新后使用它。changeInfo
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消