简单地使用
Collection.Upsert()
方法而不是
Collection.Update()
:
err := collection.Upsert(
bson.M{"contract_id": contractID, "date": date},
bson.M{"$inc": bson.M{"value": value}},
)
引用的文档
集合.upsert())
:
upsert查找与所提供的选择器文档匹配的单个文档,并根据更新文档对其进行修改。
如果找不到与选择器匹配的文档,则更新文档将应用于选择器文档,结果将插入到集合中。