golang:* mongo.Database没有字段或方法CreateCollection

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang:* mongo.Database没有字段或方法CreateCollection相关的知识,希望对你有一定的参考价值。

我正在尝试使用mongodb的CreateCollection方法和以下源代码创建一个集合:

package mongodb

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

func CreateCollection() {
    var client, err = mongo.Connect(context.Background(), options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        panic(err)
    }

    var db = client.Database("test")
    _ = db.CreateCollection(context.Background(), "Test")
}

但是,我收到错误消息:

$ go build CreateCollection.go
./CreateCollection.go:16:8: db.CreateCollection undefined (type *mongo.Database has no field or method CreateCollection)

为什么Createcollection中不存在*mongo.Databasedocumentation的状态不同。我的IDE(Goland)也建议该方法存在。删除和重新安装所有软件包也没有更改。

此外,options.CreateCollection()options.CreateCollectionOptions也未定义。

版本:

  • mongodb驱动程序:1.3.4
  • go:1.14.4
答案

正如Muffin Top所指出的,CreateCollection方法需要mongo-driver@1.4.0

但是,mongo-driver@1.4.0尚未发布,目前处于测试版,这就是go get -u未安装的原因:https://github.com/mongodb/mongo-go-driver/releases

以上是关于golang:* mongo.Database没有字段或方法CreateCollection的主要内容,如果未能解决你的问题,请参考以下文章

golang 没有魔法角色的Golang quine

golang 没有fmt.Printf的Golang quine

golang有没有必要传递map指针

json转golang struct有没有好工具

Golang入门到项目实战 golang匿名函数

GoLang Socket.io Emit 没有被 React 接收