繁体   English   中英

golang mongodb 将数据库库 mongo 迁移到 mgo

[英]golang mongodb migrate database library mongo to mgo

我想将数据库的库从github.com/mongodb/mongo-go-driver/mongo更改为github.com/globalsign/mgo ,我的问题是我不知道如何将此代码转换为新库:

import "github.com/mongodb/mongo-go-driver/mongo/options"
res, err := s.totals().UpdateOne(ctx,
        bson.M{"contract_id": cID, "date": date},
        bson.M{"$inc": bson.M{"value": value}},
        options.Update().SetUpsert(true),
    )

我目前的代码:

collection := s.totals()
err := collection.Update(
    bson.M{"contract_id": contractID, "date": date},
    bson.M{"$inc": bson.M{"value": value}},
    //options.Update().SetUpsert(true),
)

我如何转换这个options.Update().SetUpsert(true)以在新库中使用?

只需使用Collection.Upsert()方法而不是Collection.Update()

info, err := collection.Upsert(
    bson.M{"contract_id": contractID, "date": date},
    bson.M{"$inc": bson.M{"value": value}},
)

引用Collection.Upsert()的文档:

Upsert 找到与提供的选择器文档匹配的单个文档,并根据更新文档对其进行修改。 如果没有找到与选择器匹配的文档,则更新文档将应用于选择器文档并将结果插入到集合中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM