我遇到了使用 golang mongo 驱动程序更新文档的问题。场景:我想更新嵌套在结构中的字段。例如:StructOuter -> structInner -> field1、field2、field3。现在,如果我想更新 field3 并且我有相应的值作为另一个结构,我怎么能通过单独更新这个字段来继续。我尝试使用下面的代码,但它更新了整个 structInner,只留下了 field3:
conv, _ := bson.Marshal(prod)
bson.Unmarshal(conv, &updateFields)
update := bson.M{
"$set": updateFields,
}
model.SetUpdate(update).
示例 JSON:
{
"field_one": "value",
"data": {
"field_two": [
"data1",
"data2"
],
"field_three": "check",
"field_four": "abc",
"field_five": "work",
}
}
我想避免用于更新的硬编码字段查询。
只是想知道这是否受支持,如果是,您能帮我解决这个问题,并指出一些深入的链接。