9

私は、Javaで利用可能なすべてのMongoデータベースを通過するアルゴリズムを書いています。

Windowsシェルで私はただします

show dbs

Javaでそれを実行し、使用可能なすべてのデータベースのリストを取得するにはどうすればよいですか?

4

2 に答える 2

18

あなたはそうするようにこれをするでしょう:

MongoClient mongoClient = new MongoClient();
List<String> dbs = mongoClient.getDatabaseNames();

これにより、使用可能なすべてのデータベース名のリストが表示されます。

ここでドキュメントを見ることができます。

アップデート:

下記の@CydrickTgetDatabaseNamesはすでに非推奨になっているため、次のように切り替える必要があります。

MongoClient mongoClient = new MongoClient();
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while(dbsCursor.hasNext()) {
    System.out.println(dbsCursor.next());
}
于 2013-03-14T17:50:37.597 に答える
9

メソッドgetDatabaseNames();が非推奨/利用できないためにここに来る人のために、この情報を取得する新しい方法は次のとおりです。

MongoClient mongoClient = new MongoClient();
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while(dbsCursor.hasNext()) {
    System.out.println(dbsCursor.next());
}

getDatabaseNames()前のメソッドと同様に、データベース名のリストを返すメソッドは次のとおりです。

public List<String> getDatabaseNames(){
    MongoClient mongoClient = new MongoClient(); //Maybe replace it with an already existing client
    List<String> dbs = new ArrayList<String>();
    MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
    while(dbsCursor.hasNext()) {
        dbs.add(dbsCursor.next());
    }
    return dbs;
}
于 2015-12-14T15:11:37.850 に答える