用Go语言更新MongoDB数组中的条目

uwopmtnx  于 2023-03-01  发布在  Go
关注(0)|答案(1)|浏览(131)

鉴于本文档结构:

{
  "_id": "example-id",
  "some_field": "some_value",
  "list": [
      {
      "oid": "12345",
      "status": "OK",
      "field": "example_value"
    }
  ]
}

我有多个文档的列表字段最多可以包含500个条目。我需要通过字段 oid 在所有这些数组中搜索并更新 status 字段。只有一个元素会被更新,oid 字段永远不会被复制。这必须用Go语言完成。

eqqqjvef

eqqqjvef1#

我从未使用过golang,但我可以展示如何使用mongoshell来完成它,并且它不需要在数组中搜索
请参考带有Go的https://www.mongodb.com/docs/drivers/go/current/fundamentals/crud/write-operations/embedded-arrays/
MONGO-PLAYGROUND

db.collection.update({
  "_id": "1",
  "list.oid": {
    "$in": [
      "1"
    ]
  }
},
{
  "$set": {
    "list.$.status": "New OK"
  }
})

相关问题