我需要使用CollectionNames()方法来列出数据库的所有集合。我将不得不在 mongoDB中创建一个会话:sess := ... // obtain sessiondb := sess.DB("") // Get db, use db name if not given in connection urlnames, 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)我怎么能创建一个会话?提前致谢!!
1 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
您似乎混淆/混合了不同的 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
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消