Interface MongoDatabase


@ThreadSafe public interface MongoDatabase
The MongoDatabase interface.

Note: Additions to this interface will not be considered to break binary compatibility.

Since:
1.0
  • Method Details

    • getName

      String getName()
      Gets the name of the database.
      Returns:
      the database name
    • getCodecRegistry

      CodecRegistry getCodecRegistry()
      Get the codec registry for the MongoDatabase.
      Returns:
      the CodecRegistry
    • getReadPreference

      ReadPreference getReadPreference()
      Get the read preference for the MongoDatabase.
      Returns:
      the ReadPreference
    • getWriteConcern

      WriteConcern getWriteConcern()
      Get the write concern for the MongoDatabase.
      Returns:
      the WriteConcern
    • getReadConcern

      ReadConcern getReadConcern()
      Get the read concern for the MongoCollection.
      Returns:
      the ReadConcern
      Since:
      1.2
      Since server release
      3.2
    • withCodecRegistry

      MongoDatabase withCodecRegistry(CodecRegistry codecRegistry)
      Create a new MongoDatabase instance with a different codec registry.
      Parameters:
      codecRegistry - the new CodecRegistry for the collection
      Returns:
      a new MongoDatabase instance with the different codec registry
    • withReadPreference

      MongoDatabase withReadPreference(ReadPreference readPreference)
      Create a new MongoDatabase instance with a different read preference.
      Parameters:
      readPreference - the new ReadPreference for the collection
      Returns:
      a new MongoDatabase instance with the different readPreference
    • withWriteConcern

      MongoDatabase withWriteConcern(WriteConcern writeConcern)
      Create a new MongoDatabase instance with a different write concern.
      Parameters:
      writeConcern - the new WriteConcern for the collection
      Returns:
      a new MongoDatabase instance with the different writeConcern
    • withReadConcern

      MongoDatabase withReadConcern(ReadConcern readConcern)
      Create a new MongoDatabase instance with a different read concern.
      Parameters:
      readConcern - the new ReadConcern for the collection
      Returns:
      a new MongoDatabase instance with the different ReadConcern
      Since:
      1.2
      Since server release
      3.2
    • getCollection

      MongoCollection<Document> getCollection(String collectionName)
      Gets a collection.
      Parameters:
      collectionName - the name of the collection to return
      Returns:
      the collection
    • getCollection

      <TDocument> MongoCollection<TDocument> getCollection(String collectionName, Class<TDocument> clazz)
      Gets a collection, with a specific default document class.
      Type Parameters:
      TDocument - the type of the class to use instead of Document.
      Parameters:
      collectionName - the name of the collection to return
      clazz - the default class to cast any documents returned from the database into.
      Returns:
      the collection
    • runCommand

      Publisher<Document> runCommand(Bson command)
      Executes command in the context of the current database.
      Parameters:
      command - the command to be run
      Returns:
      a publisher containing the command result
    • runCommand

      Publisher<Document> runCommand(Bson command, ReadPreference readPreference)
      Executes command in the context of the current database.
      Parameters:
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      Returns:
      a publisher containing the command result
    • runCommand

      <TResult> Publisher<TResult> runCommand(Bson command, Class<TResult> clazz)
      Executes command in the context of the current database.
      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      command - the command to be run
      clazz - the default class to cast any documents returned from the database into.
      Returns:
      a publisher containing the command result
    • runCommand

      <TResult> Publisher<TResult> runCommand(Bson command, ReadPreference readPreference, Class<TResult> clazz)
      Executes command in the context of the current database.
      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      clazz - the default class to cast any documents returned from the database into.
      Returns:
      a publisher containing the command result
    • runCommand

      Publisher<Document> runCommand(ClientSession clientSession, Bson command)
      Executes command in the context of the current database.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      Returns:
      a publisher containing the command result
      Since:
      1.7
      Since server release
      3.6
    • runCommand

      Publisher<Document> runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference)
      Executes command in the context of the current database.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      Returns:
      a publisher containing the command result
      Since:
      1.7
      Since server release
      3.6
    • runCommand

      <TResult> Publisher<TResult> runCommand(ClientSession clientSession, Bson command, Class<TResult> clazz)
      Executes command in the context of the current database.
      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      clazz - the default class to cast any documents returned from the database into.
      Returns:
      a publisher containing the command result
      Since:
      1.7
      Since server release
      3.6
    • runCommand

      <TResult> Publisher<TResult> runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference, Class<TResult> clazz)
      Executes command in the context of the current database.
      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      clazz - the default class to cast any documents returned from the database into.
      Returns:
      a publisher containing the command result
      Since:
      1.7
      Since server release
      3.6
    • drop

      Publisher<Void> drop()
      Drops this database.
      Returns:
      a publisher identifying when the database has been dropped
      MongoDB documentation
      Drop database
    • drop

      Publisher<Void> drop(ClientSession clientSession)
      Drops this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      a publisher identifying when the database has been dropped
      Since:
      1.7
      MongoDB documentation
      Drop database
      Since server release
      3.6
    • listCollectionNames

      Publisher<String> listCollectionNames()
      Gets the names of all the collections in this database.
      Returns:
      a publisher with all the names of all the collections in this database
    • listCollectionNames

      Publisher<String> listCollectionNames(ClientSession clientSession)
      Gets the names of all the collections in this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      a publisher with all the names of all the collections in this database
      Since:
      1.7
      Since server release
      3.6
    • listCollections

      Finds all the collections in this database.
      Returns:
      the fluent list collections interface
      MongoDB documentation
      listCollections
    • listCollections

      <TResult> ListCollectionsPublisher<TResult> listCollections(Class<TResult> clazz)
      Finds all the collections in this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clazz - the class to decode each document into
      Returns:
      the fluent list collections interface
      MongoDB documentation
      listCollections
    • listCollections

      ListCollectionsPublisher<Document> listCollections(ClientSession clientSession)
      Finds all the collections in this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      the fluent list collections interface
      Since:
      1.7
      MongoDB documentation
      listCollections
      Since server release
      3.6
    • listCollections

      <TResult> ListCollectionsPublisher<TResult> listCollections(ClientSession clientSession, Class<TResult> clazz)
      Finds all the collections in this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      clazz - the class to decode each document into
      Returns:
      the fluent list collections interface
      Since:
      1.7
      MongoDB documentation
      listCollections
      Since server release
      3.6
    • createCollection

      Publisher<Void> createCollection(String collectionName)
      Create a new collection with the given name.
      Parameters:
      collectionName - the name for the new collection to create
      Returns:
      a publisher identifying when the collection has been created
      MongoDB documentation
      Create Command
    • createCollection

      Publisher<Void> createCollection(String collectionName, CreateCollectionOptions options)
      Create a new collection with the selected options
      Parameters:
      collectionName - the name for the new collection to create
      options - various options for creating the collection
      Returns:
      a publisher identifying when the collection has been created
      MongoDB documentation
      Create Command
    • createCollection

      Publisher<Void> createCollection(ClientSession clientSession, String collectionName)
      Create a new collection with the given name.
      Parameters:
      clientSession - the client session with which to associate this operation
      collectionName - the name for the new collection to create
      Returns:
      a publisher identifying when the collection has been created
      Since:
      1.7
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createCollection

      Publisher<Void> createCollection(ClientSession clientSession, String collectionName, CreateCollectionOptions options)
      Create a new collection with the selected options
      Parameters:
      clientSession - the client session with which to associate this operation
      collectionName - the name for the new collection to create
      options - various options for creating the collection
      Returns:
      a publisher identifying when the collection has been created
      Since:
      1.7
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createView

      Publisher<Void> createView(String viewName, String viewOn, List<? extends Bson> 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:
      an observable identifying when the collection view has been created
      Since:
      1.3
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • createView

      Publisher<Void> createView(String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
      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
      createViewOptions - various options for creating the view
      Returns:
      an observable identifying when the collection view has been created
      Since:
      1.3
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • createView

      Publisher<Void> createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline)
      Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
      Parameters:
      clientSession - the client session with which to associate this operation
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      Returns:
      an observable identifying when the collection view has been created
      Since:
      1.7
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createView

      Publisher<Void> createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
      Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
      Parameters:
      clientSession - the client session with which to associate this operation
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      createViewOptions - various options for creating the view
      Returns:
      an observable identifying when the collection view has been created
      Since:
      1.7
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • watch

      Creates a change stream for this database.
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamPublisher<TResult> watch(Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      ChangeStreamPublisher<Document> watch(List<? extends Bson> pipeline)
      Creates a change stream for this database.
      Parameters:
      pipeline - the aggregation pipeline to apply to the change stream.
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamPublisher<TResult> watch(List<? extends Bson> pipeline, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      pipeline - the aggregation pipeline to apply to the change stream
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      Creates a change stream for this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamPublisher<TResult> watch(ClientSession clientSession, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      ChangeStreamPublisher<Document> watch(ClientSession clientSession, List<? extends Bson> pipeline)
      Creates a change stream for this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline to apply to the change stream.
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamPublisher<TResult> watch(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline to apply to the change stream
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      1.9
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • aggregate

      AggregatePublisher<Document> aggregate(List<? extends Bson> pipeline)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Parameters:
      pipeline - the aggregation pipeline
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      1.11
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      <TResult> AggregatePublisher<TResult> aggregate(List<? extends Bson> pipeline, Class<TResult> resultClass)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      pipeline - the aggregation pipeline
      resultClass - the class to decode each document into
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      1.11
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      AggregatePublisher<Document> aggregate(ClientSession clientSession, List<? extends Bson> pipeline)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      1.11
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      <TResult> AggregatePublisher<TResult> aggregate(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline
      resultClass - the class to decode each document into
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      1.11
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6