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

how i get a session in mongodb with golang

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

我将不得不在 mongoDB:

中创建一个 session
sess := ... // obtain session
db := sess.DB("") // Get db, use db name if not given in connection url

names, err := db.CollectionNames()

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

我一直连接着下路的DB:

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)

如何创建会话?

提前致谢!!

您似乎混淆/混淆了不同的 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