Search code examples
javamongodbmongodb-java

List of all collections in mongo database in java


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

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

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