在检索集合时,是否可以避免再次指定数据库名称?我已经在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
与/database
MongoClient
之间的区别。
连接字符串中提供的getDatabase
是可选的,仅在连接字符串包含身份验证凭据并且启用身份验证时使用。/database
作为dbname
ongetDatabase(dbname)
的一部分提供的MongoClient
是存储应用程序集合的位置。
因此,要回答您的问题,您只需在dbname
方法中提供getDatabase
,因为您没有启用任何身份验证。
更多信息
https://docs.mongodb.com/manual/reference/connection-string/
关于mongodb - MongoDB-来自MongoClient的数据库对象或字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44057233/