You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoDB Go驱动的单次更新调用中同时使用$set与$inc?

解决MongoDB单次更新同时使用$set和$inc的问题

你的代码报错是因为混用了结构体字段赋值语法(:)和bson.D的键值对写法,bson.D是bson.E类型的切片,每个元素需要用{"键", 值}的形式定义,不能用冒号。

正确的写法应该将$set和$inc作为bson.D的两个独立元素,分别指定各自的更新字段:

update := bson.D{
    {"$set", bson.D{{"id", "Q" + addr_to_string}}},
    {"$inc", bson.D{{"amount", amount_int}}},
}

说明:

  • $set元素负责更新id字段为指定值
  • $inc元素负责将amount字段自增amount_int数值
  • 两个操作会在同一次MongoDB更新中原子执行,保证数据一致性

内容的提问来源于stack exchange,提问作者l33t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:18:18