Question

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

  • database - mongodb;
  • language - java;
  • ide - eclipse;
Was it helpful?

Solution

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);

OTHER TIPS

In MongoDB 3, it's now db.listCollectionNames(). There's also db.listCollections()

See the API Docs.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top