如何在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
相关产品推荐
相关产品推荐

