List of all collections in mongo database in java

Saska picture Saska · Feb 11, 2011 · Viewed 15.6k times · Source

how can I get a list of all the collections in the database?

  • database - mongodb;
  • language - java;
  • ide - eclipse;

Answer

reggie picture reggie · Feb 11, 2011

Getting A List Of Collections Each database has zero or more collections. You can retrieve a list of them from the db (and print out any that are there) :

Set<String> colls = db.getCollectionNames();

for (String s : colls) {
System.out.println(s);
}

Edit : As suggested in @Andrew's answer, updated java client uses this :

/**
 * Gets the names of all the collections in this database.
 *
 * @return an iterable containing all the names of all the collections in this database
 */
MongoIterable<String> listCollectionNames();

and getting the iterable collection based on the document type :

/**
 * Finds all the collections in this database.
 *
 * @param resultClass the class to decode each document into
 * @param <TResult>   the target document type of the iterable.
 * @return the list collections iterable interface
 * @mongodb.driver.manual reference/command/listCollections listCollections
 */
<TResult> ListCollectionsIterable<TResult> listCollections(Class<TResult> resultClass);