我没有像在这个例子中那样使用 MGO 包,只是来自这里的活动仓库。
我很难阅读文档。基本上,我有一个要替换当前对象的 bson.M 对象,如果该对象不存在,请插入它。
目前我的代码如下所示:
updateFilter := bson.D{{"from_symbol", fromSymbol}, {"to_symbol", strings.ToUpper(currency["to_symbol"].(string))}}
// The above seems to be correctly finding the documents I want
// currency is my bson.M object
_, err := collection.ReplaceOne(ctx, updateFilter, currency)
// However this line will not additionally insert if the object is not found, it is replacing fine
我确信我可以手动运行另一个查询来查看文档是否存在,但这似乎没有必要。谢谢!
编辑:
看起来应该有办法做某事replaceOptions,请参阅文档。
upsert := options.ReplaceOptions{Upsert: true}
_, err := collection.ReplaceOne(ctx, updateFilter, currency, upset)
然而,这给了我错误:
cannot use true (type bool) as type *bool in field value
杨魅力
holdtom
随时随地看视频慕课网APP
相关分类