Package com.mongodb

Class DB

java.lang.Object
com.mongodb.DB

@ThreadSafe public class DB extends Object
A thread-safe client view of a logical database in a MongoDB cluster. A DB instance can be achieved from a MongoClient instance using code like:
 
 MongoClient mongoClient = new MongoClient();
 DB db = mongoClient.getDB("<db name>");
 
 
See MongoClient.getDB(String) for further information about the effective deprecation of this class.
See Also:
MongoDB documentation
Database
  • Method Details

    • getMongoClient

      public MongoClient getMongoClient()
      Gets the MongoClient instance
      Returns:
      the MongoClient instance that this database was constructed from
      Throws:
      IllegalStateException - if this DB was not created from a MongoClient instance
      Since:
      3.9
    • setReadPreference

      public void setReadPreference(ReadPreference readPreference)
      Sets the read preference for this database. Will be used as default for read operations from any collection in this database. See the documentation for ReadPreference for more information.
      Parameters:
      readPreference - ReadPreference to use
      MongoDB documentation
      Read Preference
    • setWriteConcern

      public void setWriteConcern(WriteConcern writeConcern)
      Sets the write concern for this database. It will be used for write operations to any collection in this database. See the documentation for WriteConcern for more information.
      Parameters:
      writeConcern - WriteConcern to use
      MongoDB documentation
      Write Concern
    • getReadPreference

      public ReadPreference getReadPreference()
      Gets the read preference for this database.
      Returns:
      ReadPreference to be used for read operations, if not specified explicitly
      MongoDB documentation
      Read Preference
    • getWriteConcern

      public WriteConcern getWriteConcern()
      Gets the write concern for this database.
      Returns:
      WriteConcern to be used for write operations, if not specified explicitly
      MongoDB documentation
      Write Concern
    • setReadConcern

      public void setReadConcern(ReadConcern readConcern)
      Sets the read concern for this database.
      Parameters:
      readConcern - the read concern to use for this collection
      Since:
      3.3
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • getReadConcern

      public ReadConcern getReadConcern()
      Get the read concern for this database.
      Returns:
      the ReadConcern
      Since:
      3.3
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • getCollection

      public DBCollection getCollection(String name)
      Gets a collection with a given name.
      Parameters:
      name - the name of the collection to return
      Returns:
      the collection
      Throws:
      IllegalArgumentException - if the name is invalid
      See Also:
    • dropDatabase

      public void dropDatabase()
      Drops this database. Removes all data on disk. Use with caution.
      Throws:
      MongoException - if the operation failed
      MongoDB documentation
      Drop Database
    • getName

      public String getName()
      Returns the name of this database.
      Returns:
      the name
    • getCollectionNames

      public Set<String> getCollectionNames()
      Returns a set containing the names of all collections in this database.
      Returns:
      the names of collections in this database
      Throws:
      MongoException - if the operation failed
      MongoDB documentation
      getCollectionNames()
    • createCollection

      public DBCollection createCollection(String collectionName, @Nullable DBObject options)

      Creates a collection with a given name and options. If the collection already exists, this throws a CommandFailureException.

      Possible options:

      • capped (boolean) - Enables a collection cap. False by default. If enabled, you must specify a size parameter.
      • size (int) - If capped is true, size specifies a maximum size in bytes for the capped collection. When capped is false, you may use size to preallocate space.
      • max (int) - Optional. Specifies a maximum "cap" in number of documents for capped collections. You must also specify size when specifying max.

      Note that if the options parameter is null, the creation will be deferred to when the collection is written to.

      Parameters:
      collectionName - the name of the collection to return
      options - options
      Returns:
      the collection
      Throws:
      MongoCommandException - if the server is unable to create the collection
      WriteConcernException - if the WriteConcern specified on this DB could not be satisfied
      MongoException - for all other failures
      MongoDB documentation
      createCollection()
    • createView

      public DBCollection createView(String viewName, String viewOn, List<? extends DBObject> pipeline)
      Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
      Parameters:
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      Returns:
      the view as a DBCollection
      Throws:
      MongoCommandException - if the server is unable to create the collection
      WriteConcernException - if the WriteConcern specified on this DB could not be satisfied
      MongoException - for all other failures
      Since:
      3.4
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • createView

      public DBCollection createView(String viewName, String viewOn, List<? extends DBObject> pipeline, DBCreateViewOptions options)
      Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
      Parameters:
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      options - the options for creating the view
      Returns:
      the view as a DBCollection
      Throws:
      MongoCommandException - if the server is unable to create the collection
      WriteConcernException - if the WriteConcern specified on this DB could not be satisfied
      MongoException - for all other failures
      Since:
      3.4
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • command

      public CommandResult command(String command)
      Executes a database command. This method constructs a simple DBObject using command as the field name and true as its value, and calls command(DBObject, ReadPreference) with the default read preference for the database.
      Parameters:
      command - command to execute
      Returns:
      result of command from the database
      Throws:
      MongoException - if the command failed
      MongoDB documentation
      Commands
    • command

      public CommandResult command(DBObject command)
      Executes a database command. This method calls command(DBObject, ReadPreference) with the default read preference for the database.
      Parameters:
      command - DBObject representation of the command to be executed
      Returns:
      result of the command execution
      Throws:
      MongoException - if the command failed
      MongoDB documentation
      Commands
    • command

      public CommandResult command(DBObject command, DBEncoder encoder)
      Executes a database command. This method calls command(DBObject, ReadPreference, DBEncoder) with the default read preference for the database.
      Parameters:
      command - DBObject representation of the command to be executed
      encoder - DBEncoder to be used for command encoding
      Returns:
      result of the command execution
      Throws:
      MongoException - if the command failed
      MongoDB documentation
      Commands
    • command

      public CommandResult command(DBObject command, ReadPreference readPreference, @Nullable DBEncoder encoder)
      Executes a database command with the selected readPreference, and encodes the command using the given encoder.
      Parameters:
      command - The DBObject representation the command to be executed
      readPreference - Where to execute the command - this will only be applied for a subset of commands
      encoder - The DBEncoder that knows how to serialise the command
      Returns:
      The result of executing the command, success or failure
      Since:
      2.12
      MongoDB documentation
      Commands
    • command

      public CommandResult command(DBObject command, ReadPreference readPreference)
      Executes the command against the database with the given read preference.
      Parameters:
      command - The DBObject representation the command to be executed
      readPreference - Where to execute the command - this will only be applied for a subset of commands
      Returns:
      The result of executing the command, success or failure
      Since:
      2.12
      MongoDB documentation
      Commands
    • command

      public CommandResult command(String command, ReadPreference readPreference)
      Executes a database command. This method constructs a simple DBObject and calls command(DBObject, ReadPreference).
      Parameters:
      command - The name of the command to be executed
      readPreference - Where to execute the command - this will only be applied for a subset of commands
      Returns:
      The result of the command execution
      Throws:
      MongoException - if the command failed
      Since:
      2.12
      MongoDB documentation
      Commands
    • getSisterDB

      public DB getSisterDB(String name)
      Gets another database on same server
      Parameters:
      name - name of the database
      Returns:
      the DB for the given name
    • collectionExists

      public boolean collectionExists(String collectionName)
      Checks to see if a collection with a given name exists on a server.
      Parameters:
      collectionName - a name of the collection to test for existence
      Returns:
      false if no collection by that name exists, true if a match to an existing collection was found
      Throws:
      MongoException - if the operation failed
    • toString

      public String toString()
      Overrides:
      toString in class Object