As mentioned in the docs: http://mongodb.github.io/mongo-java-driver/3.3/driver/getting-started/quick-tour/
The MongoClient instance actually represents a pool of connections to the database; you will only need one instance of class MongoClient even with multiple threads.
Using codes below can get the collection(just like 'table' in the RDMS):
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("test");
I found these code always return new instances, so,how about making the MongoDatabase or MongoCollection as the Singleton in my applicaiton?