Go调用mongodb 更新数据不存在插入,存在就更新
Posted pengshaomin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go调用mongodb 更新数据不存在插入,存在就更新相关的知识,希望对你有一定的参考价值。
需求
用户提交地址可能是新增、修改
方案
利用mongod的upset更新匹配的地址
重点
数组的操作符号
$[].$ //当前数组的元素
代码
r := db.C("user").Upsert( bson.M{
"_id": id, "address.id": address.ID,},
bson.M{"$set": bson.M{ "address.$[].$": address,"arrayFilter":bson.M{}},})
以上是关于Go调用mongodb 更新数据不存在插入,存在就更新的主要内容,如果未能解决你的问题,请参考以下文章
如果存在,如何更新文档,如果在 mongodb 中不存在,如何将其插入?
MongoDB原子“findOrCreate”:findOne,如果不存在则插入,但不更新
mysql插入数据时,判断是不是存在,存在则替代,不存在则直接插入,需要能够批量处理。