我如何在 mongodb 中使用 golang 进行会话

我需要使用CollectionNames()方法来列出数据库的所有集合。


我将不得不在 mongoDB中创建一个会话:


sess := ... // obtain session

db := sess.DB("") // Get db, use db name if not given in connection url


names, err := db.CollectionNames()

我在哪里可以找到在 MongoDB 中获取会话的示例?


我一直与下一种方式的数据库连接:


cliente_local, err := mongo.NewClient(options.Client().ApplyURI(cadena_conexion))

    if err != nil {

        log.Fatal(err)

    }


    ctx, cancelar = context.WithTimeout(context.Background(), 10*time.Second)

    err = cliente_local.Connect(ctx)

    if err != nil {

        log.Fatal(err)

    }

    defer cancelar()


    mongo_cliente = cliente_local.Database(DATABASE)

我怎么能创建一个会话?


提前致谢!!


qq_花开花谢_0
浏览 85回答 1
1回答

人到中年有点甜

您似乎混淆/混合了不同的 MongoDB 驱动程序。DB.CollectionNames()存在于mgo旧且未维护的驱动程序中。您使用的驱动程序是官方mongo-go驱动程序,它具有不同的方法来获取现有集合列表。mongo-go驱动有Database.ListCollectionNames()方法,你可以这样使用:names, err := mongo_cliente.ListCollectionNames(ctx, bson.D{}) // names is a []string holding all the existing collection names
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go