I am writing an algorithm that will go thru all available Mongo databases in java.
On the windows shell I just do
show dbs
How can
You would do this like so:
MongoClient mongoClient = new MongoClient();
List<String> dbs = mongoClient.getDatabaseNames();
That will simply give you a list of all of the database names available.
You can see the documentation here.
Update:
As @CydrickT mentioned below, getDatabaseNames
is already deprecated, so we need switch to:
MongoClient mongoClient = new MongoClient();
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while(dbsCursor.hasNext()) {
System.out.println(dbsCursor.next());
}
For anyone who comes here because the method getDatabaseNames();
is deprecated / not available, here is the new way to get this information:
MongoClient mongoClient = new MongoClient();
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while(dbsCursor.hasNext()) {
System.out.println(dbsCursor.next());
}
Here is a method that returns the list of database names like the previous getDatabaseNames()
method:
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;
}