=======================
MongoDB\\Database Class
=======================

.. default-domain:: mongodb

.. contents:: On this page
   :local:
   :backlinks: none
   :depth: 1
   :class: singlecol

Definition
----------

.. phpclass:: MongoDB\Database

   Provides methods for common operations on a database, such as executing
   database commands and managing collections.

   You can construct a database directly using the driver's
   :php:`MongoDB\Driver\Manager <class.mongodb-driver-manager>` class or
   select a database from the library's :phpclass:`MongoDB\Client` class. A
   database may also be cloned from an existing :phpclass:`MongoDB\Database`
   object via the :phpmethod:`withOptions() <MongoDB\Database::withOptions()>`
   method.

   :phpclass:`MongoDB\Database` supports the :php:`readConcern
   <mongodb-driver-readconcern>`, :php:`readPreference
   <mongodb-driver-readpreference>`, :php:`typeMap
   <manual/en/mongodb.persistence.deserialization.php#mongodb.persistence.typemaps>`,
   and :php:`writeConcern <mongodb-driver-writeconcern>` options. If you omit an
   option, the database inherits the value from the :php:`Manager
   <mongodb-driver-manager>` constructor argument or the :phpclass:`Client <MongoDB\Client>`
   object used to select the database.

   Operations within the :phpclass:`MongoDB\Database` class inherit the
   Database's options.

Methods
-------

.. toctree::
   :titlesonly:

   __construct() </reference/method/MongoDBDatabase__construct>
   __get() </reference/method/MongoDBDatabase__get>
   aggregate() </reference/method/MongoDBDatabase-aggregate>
   command() </reference/method/MongoDBDatabase-command>
   createCollection() </reference/method/MongoDBDatabase-createCollection>
   createEncryptedCollection() </reference/method/MongoDBDatabase-createEncryptedCollection>
   drop() </reference/method/MongoDBDatabase-drop>
   dropCollection() </reference/method/MongoDBDatabase-dropCollection>
   getDatabaseName() </reference/method/MongoDBDatabase-getDatabaseName>
   getManager() </reference/method/MongoDBDatabase-getManager>
   getReadConcern() </reference/method/MongoDBDatabase-getReadConcern>
   getReadPreference() </reference/method/MongoDBDatabase-getReadPreference>
   getTypeMap() </reference/method/MongoDBDatabase-getTypeMap>
   getWriteConcern() </reference/method/MongoDBDatabase-getWriteConcern>
   listCollectionNames() </reference/method/MongoDBDatabase-listCollectionNames>
   listCollections() </reference/method/MongoDBDatabase-listCollections>
   modifyCollection() </reference/method/MongoDBDatabase-modifyCollection>
   renameCollection() </reference/method/MongoDBDatabase-renameCollection>
   selectCollection() </reference/method/MongoDBDatabase-selectCollection>
   selectGridFSBucket() </reference/method/MongoDBDatabase-selectGridFSBucket>
   watch() </reference/method/MongoDBDatabase-watch>
   withOptions() </reference/method/MongoDBDatabase-withOptions>

- :phpmethod:`MongoDB\Database::__construct()`
- :phpmethod:`MongoDB\Database::__get()`
- :phpmethod:`MongoDB\Database::aggregate()`
- :phpmethod:`MongoDB\Database::command()`
- :phpmethod:`MongoDB\Database::createCollection()`
- :phpmethod:`MongoDB\Database::createEncryptedCollection()`
- :phpmethod:`MongoDB\Database::drop()`
- :phpmethod:`MongoDB\Database::dropCollection()`
- :phpmethod:`MongoDB\Database::getDatabaseName()`
- :phpmethod:`MongoDB\Database::getManager()`
- :phpmethod:`MongoDB\Database::getReadConcern()`
- :phpmethod:`MongoDB\Database::getReadPreference()`
- :phpmethod:`MongoDB\Database::getTypeMap()`
- :phpmethod:`MongoDB\Database::getWriteConcern()`
- :phpmethod:`MongoDB\Database::listCollectionNames()`
- :phpmethod:`MongoDB\Database::listCollections()`
- :phpmethod:`MongoDB\Database::modifyCollection()`
- :phpmethod:`MongoDB\Database::renameCollection()`
- :phpmethod:`MongoDB\Database::selectCollection()`
- :phpmethod:`MongoDB\Database::selectGridFSBucket()`
- :phpmethod:`MongoDB\Database::watch()`
- :phpmethod:`MongoDB\Database::withOptions()`