有什么办法可以避免在检索集合时指定AGAIN数据库名称?我已经在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")
答案 0 :(得分:1)
MongoDb区分连接字符串dbname
与/database
MongoClient
中的getDatabase
。
连接字符串中提供的/database
是可选的,仅在连接字符串包含身份验证凭据并启用身份验证时使用。
在dbname
getDatabase(dbname)
上提供的MongoClient
是存储应用程序集合的地方。
因此,要回答您的问题,您可以在dbname
方法中提供getDatabase
,因为您没有启用任何身份验证。
更多信息
https://docs.mongodb.com/manual/reference/connection-string/