据我了解,您必须在使用完 MongoDB 后断开与它的连接,但我不完全确定如何正确操作
var collection *mongo.Collection
var ctx = context.TODO()
func init() {
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017/")
client, err := mongo.Connect(ctx, clientOptions)
if err != nil {
log.Fatal(err)
}
//defer client.Disconnect(ctx)
err = client.Ping(ctx, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected successfully")
collection = client.Database("testDB").Collection("testCollection") //create DB
}
有注释掉的函数调用 defer client.Disconnect(ctx) ,如果所有代码都发生在 main() 函数中,这将正常工作,但由于在 init() 执行后立即调用 defer,因此 main() 函数中的 DB 已经断开连接。
所以问题是——处理这个案子的正确方法是什么?
拉莫斯之舞
开心每一天1111
相关分类