在检索集合时,是否可以避免再次指定数据库名称?我已经在uri中提供了。

String uri = "mongodb://mongodb01dv:27017/myDB" //<-- I'm providing the db here
String db = "myDB"

MongoClient mongoClient = new MongoClient(
  new MongoClientURI(uri))

MongoCollection collection = mongoClient
  .getDatabase(db) //<--- I'm providing the db here again
  .getCollection("myCollection")

最佳答案

MongoDB区分了连接字符串中的dbname/databaseMongoClient之间的区别。
连接字符串中提供的getDatabase是可选的,仅在连接字符串包含身份验证凭据并且启用身份验证时使用。
/database作为dbnameongetDatabase(dbname)的一部分提供的MongoClient是存储应用程序集合的位置。
因此,要回答您的问题,您只需在dbname方法中提供getDatabase,因为您没有启用任何身份验证。
更多信息
https://docs.mongodb.com/manual/reference/connection-string/

关于mongodb - MongoDB-来自MongoClient的数据库对象或字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44057233/

10-11 03:10