如何导入go的mongo-driver bson

How to import go's mongo-driver bson

我使用 go get go.mongodb.org/mongo-driver/... 安装了 mongo go 驱动程序,但每当我尝试使用 bson.ECbson.NewDocument 时,如 here 所示,我会收到错误消息: undefined: bson.NewDocumentundefined: bson.EC。我在这里错过了什么?

import (
    "go.mongodb.org/mongo-driver/bson"
)

func main() {
    // database and collection connection 
    // ...

    filter := bson.NewDocument(bson.EC.String("_id", "foo"))
    update := bson.NewDocument(
        bson.EC.SubDocumentFromElements(
            "$set",
            bson.EC.Double("pi", 3.14159),
        ),
    )
}

这些是旧版本(Beta 版本之前)的 bson 接口。您可以构建更新操作,如下例所示:

filter := bson.D{{"_id", "foo"}}
update := bson.D{{"$set", bson.D{{"pi", 3.14159}}}}
result, err := collection.UpdateOne(
    context.Background(),
    filter,
    update,
)

以上代码段基于MongoDB Go driver v1.0.0

有关如何使用驱动程序的更多示例,请参阅: