如何从MongoClient,Java获取连接字符串中指定的Mongo数据库

时间:2018-01-09 07:05:22

标签: java mongodb

我已经指定数据库连接在连接字符串中,所以我希望我可以在没有硬编码的情况下获取数据库实例。

但是mongoDbClient.getDatabase方法需要数据库名称作为参数。有没有简单的方法呢?

   MongoClient mongoClient = new MongoClientURI(DispatcherConfigHolder.config.getMongoUrl());//I will put the uri in a config file so that I can change the db easily
   MongoDatabase db = ...//need a MongoDataBase here
   MongoCollection collection = db.getCollection("device");//so that I can access the collection from it

1 个答案:

答案 0 :(得分:0)

我可以想到两个选择。虽然我没有尝试过。

  1. 使用MongoClient的getUsedDatabases方法获取数据库(参考:http://api.mongodb.com/java/2.10.1/com/mongodb/Mongo.html
  2. 使用uri创建MongoClientURI的实例(ref:http://api.mongodb.com/java/current/com/mongodb/MongoClientURI.html),然后在此对象上使用方法getDatabase()。