Interface MongoDatabase


  • @ThreadSafe
    public interface MongoDatabase
    The MongoDatabase interface.

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

    Since:
    3.0
    • Method Detail

      • getName

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

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

        ReadConcern getReadConcern()
        Get the read concern for the MongoDatabase.
        Returns:
        the ReadConcern
        Since:
        3.2
        MongoDB documentation
        Since server release
      • withCodecRegistry

        MongoDatabase withCodecRegistry​(CodecRegistry codecRegistry)
        Create a new MongoDatabase instance with a different codec registry.
        Parameters:
        codecRegistry - the new CodecRegistry for the database
        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 database
        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 database
        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 database
        Returns:
        a new MongoDatabase instance with the different ReadConcern
        Since:
        3.2
        MongoDB documentation
        Since server release
      • getCollection

        <TDocument>  collectionName,
                                                             <TDocument> documentClass)
        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
        documentClass - the default class to cast any documents returned from the database into.
        Returns:
        the collection
      • runCommand

        Document runCommand​(Bson command)
        Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
        Parameters:
        command - the command to be run
        Returns:
        the command result
      • runCommand

        Document runCommand​(Bson command,
                            ReadPreference readPreference)
        Executes the given command in the context of the current database with the given read preference.
        Parameters:
        command - the command to be run
        readPreference - the ReadPreference to be used when executing the command
        Returns:
        the command result
      • runCommand

        <TResult> TResult runCommand​(Bson command,
                                     <TResult> resultClass)
        Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
        Type Parameters:
        TResult - the type of the class to use instead of Document.
        Parameters:
        command - the command to be run
        resultClass - the class to decode each document into
        Returns:
        the command result
      • runCommand

        <TResult> TResult runCommand​(Bson command,
                                     ReadPreference readPreference,
                                     <TResult> resultClass)
        Executes the given command in the context of the current database with the given read preference.
        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
        resultClass - the class to decode each document into
        Returns:
        the command result
      • runCommand

        Document runCommand​(ClientSession clientSession,
                            Bson command)
        Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
        Parameters:
        clientSession - the client session with which to associate this operation
        command - the command to be run
        Returns:
        the command result
        Since:
        3.6
        Since server release
      • runCommand

        Document runCommand​(ClientSession clientSession,
                            Bson command,
                            ReadPreference readPreference)
        Executes the given command in the context of the current database with the given read preference.
        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:
        the command result
        Since:
        3.6
        Since server release
      • runCommand

        <TResult> TResult runCommand​(ClientSession clientSession,
                                     Bson command,
                                     <TResult> resultClass)
        Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
        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
        resultClass - the class to decode each document into
        Returns:
        the command result
        Since:
        3.6
        Since server release
      • runCommand

        <TResult> TResult runCommand​(ClientSession clientSession,
                                     Bson command,
                                     ReadPreference readPreference,
                                     <TResult> resultClass)
        Executes the given command in the context of the current database with the given read preference.
        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
        resultClass - the class to decode each document into
        Returns:
        the command result
        Since:
        3.6
        Since server release
      • drop

        void drop()
        Drops this database.
        MongoDB documentation
      • drop

        void drop​(ClientSession clientSession)
        Drops this database.
        Parameters:
        clientSession - the client session with which to associate this operation
        Since:
        3.6
        MongoDB documentation
        Since server release
      • listCollectionNames

        > listCollectionNames()
        Gets the names of all the collections in this database.
        Returns:
        an iterable containing all the names of all the collections in this database
      • listCollections

        ListCollectionsIterable<Document> listCollections()
        Finds all the collections in this database.
        Returns:
        the list collections iterable interface
        MongoDB documentation
      • listCollections

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

        > 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:
        an iterable containing all the names of all the collections in this database
        Since:
        3.6
        Since server release
      • listCollections

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

        <TResult> ListCollectionsIterable<TResult> listCollections​(ClientSession clientSession,
                                                                   <TResult> resultClass)
        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
        resultClass - the class to decode each document into
        Returns:
        the list collections iterable interface
        Since:
        3.6
        MongoDB documentation
        Since server release
      • createCollection

        void createCollection​( collectionName)
        Create a new collection with the given name.
        Parameters:
        collectionName - the name for the new collection to create
        MongoDB documentation
      • createCollection

        void createCollection​( collectionName,
                              CreateCollectionOptions createCollectionOptions)
        Create a new collection with the selected options
        Parameters:
        collectionName - the name for the new collection to create
        createCollectionOptions - various options for creating the collection
        MongoDB documentation
      • createCollection

        void createCollection​(ClientSession clientSession,
                               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
        Since:
        3.6
        MongoDB documentation
        Since server release
      • createCollection

        void createCollection​(ClientSession clientSession,
                               collectionName,
                              CreateCollectionOptions createCollectionOptions)
        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
        createCollectionOptions - various options for creating the collection
        Since:
        3.6
        MongoDB documentation
        Since server release
      • createView

        void createView​( viewName,
                         viewOn,
                        <? 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
        Since:
        3.4
        MongoDB documentation
        Since server release
      • createView

        void createView​( viewName,
                         viewOn,
                        <? 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
        Since:
        3.4
        MongoDB documentation
        Since server release
      • createView

        void createView​(ClientSession clientSession,
                         viewName,
                         viewOn,
                        <? 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
        Since:
        3.6
        MongoDB documentation
        Since server release
      • createView

        void createView​(ClientSession clientSession,
                         viewName,
                         viewOn,
                        <? 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
        Since:
        3.6
        MongoDB documentation
        Since server release
      • watch

        ChangeStreamIterable<Document> watch()
        Creates a change stream for this database.
        Returns:
        the change stream iterable
        Since:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> <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:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <? 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:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> <? extends Bson> pipeline,
                                                      <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:
        3.8
        MongoDB documentation
        Since server release
      • watch

        ChangeStreamIterable<Document> watch​(ClientSession clientSession)
        Creates a change stream for this database.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the change stream iterable
        Since:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      <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:
        3.8
        MongoDB documentation
        Since server release
      • watch

        ChangeStreamIterable<Document> watch​(ClientSession clientSession,
                                             <? 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:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      <? extends Bson> pipeline,
                                                      <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:
        3.8
        MongoDB documentation
        Since server release
      • aggregate

        <? 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:
        3.10
        MongoDB documentation
        Since server release
      • aggregate

        <TResult> <? extends Bson> pipeline,
                                                       <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:
        3.10
        MongoDB documentation
        Since server release
      • aggregate

        AggregateIterable<Document> aggregate​(ClientSession clientSession,
                                              <? 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:
        3.10
        MongoDB documentation
        Since server release
      • aggregate

        <TResult> AggregateIterable<TResult> aggregate​(ClientSession clientSession,
                                                       <? extends Bson> pipeline,
                                                       <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:
        3.10
        MongoDB documentation
        Since server release