如何在Go中将客户端连接到MongoDB?

The go-mongo-driver documentation at https://www.mongodb.com/blog/post/mongodb-go-driver-tutorial recommends the following:

It is best practice to keep a client that is connected to MongoDB around so that the application can make use of connection pooling - you don't want to open and close a connection for each query.

My question is: Is there a best practice for how to do this?

I'm running an RPC service and continually listening for requests. When I receive a request I make a call to the mongo server. What I do not want to do is continually connect and disconnect to mongo.

I've attempted a solution by creating the mongo client as a global variable and then deferring the disconnection in the main function... It does not feel like a good solution.

var mongoClient *mongo.Client = buildMongoClient()

func main() {
  defer disconnectFromMongo()
  *** Do all the things *** 
  ...
}

For mongo-go-driver, global scope variable for mongo client is the way to go. Behind the scene, that client maintains a pool of tcp connections (exposed via MaxPoolSize, default to 100) and handle connectivity for you, you don't really have control of this abstraction anyway.