2017-05-18 1 views
0

コレクションを取得するときにデータベース名を再度指定しないようにする方法はありますか?私はすでにそれをuriで提供しています。MongoDB - MongoClientのDBオブジェクトまたは文字列

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

MongoDBはMongoClientgetDatabase VS接続文字列/databasedbname間の区別を行います。

接続文字列に含まれる/databaseはオプションで、接続文字列に認証資格情報が含まれており、認証が有効な場合にのみ使用されます。

の一部として提供されるdbnameは、MongoClientのアプリケーションコレクションが保存されています。

あなたの質問にお答えするには、getDatabaseメソッドにdbnameの認証を有効にしてください。

詳しい情報

https://docs.mongodb.com/manual/reference/connection-string/

関連する問題