Interface MongoCollection<TDocument>

  • Type Parameters:
    TDocument - The type that this collection will encode documents from and decode documents to.

    @ThreadSafe
    public interface MongoCollection<TDocument>
    The MongoCollection interface.

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

    MongoCollection is generic allowing for different types to represent documents. Any custom classes must have a Codec registered in the CodecRegistry.

    Since:
    3.0
    • Method Detail

      • getNamespace

        MongoNamespace getNamespace()
        Gets the namespace of this collection.
        Returns:
        the namespace
      • getDocumentClass

        Class<TDocument> getDocumentClass()
        Get the class of documents stored in this collection.
        Returns:
        the class
      • getWriteConcern

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

        ReadConcern getReadConcern()
        Get the read concern for the MongoCollection.
        Returns:
        the ReadConcern
        Since:
        3.2
        MongoDB documentation
        Read Concern
        Since server release
        3.2
      • withDocumentClass

        <NewTDocument> MongoCollection<NewTDocument> withDocumentClass​(Class<NewTDocument> clazz)
        Create a new MongoCollection instance with a different default class to cast any documents returned from the database into..
        Type Parameters:
        NewTDocument - The type that the new collection will encode documents from and decode documents to
        Parameters:
        clazz - the default class to cast any documents returned from the database into.
        Returns:
        a new MongoCollection instance with the different default class
      • withCodecRegistry

        MongoCollection<TDocument> withCodecRegistry​(CodecRegistry codecRegistry)
        Create a new MongoCollection instance with a different codec registry.
        Parameters:
        codecRegistry - the new CodecRegistry for the collection
        Returns:
        a new MongoCollection instance with the different codec registry
      • withReadPreference

        MongoCollection<TDocument> withReadPreference​(ReadPreference readPreference)
        Create a new MongoCollection instance with a different read preference.
        Parameters:
        readPreference - the new ReadPreference for the collection
        Returns:
        a new MongoCollection instance with the different readPreference
      • withWriteConcern

        MongoCollection<TDocument> withWriteConcern​(WriteConcern writeConcern)
        Create a new MongoCollection instance with a different write concern.
        Parameters:
        writeConcern - the new WriteConcern for the collection
        Returns:
        a new MongoCollection instance with the different writeConcern
      • withReadConcern

        MongoCollection<TDocument> withReadConcern​(ReadConcern readConcern)
        Create a new MongoCollection instance with a different read concern.
        Parameters:
        readConcern - the new ReadConcern for the collection
        Returns:
        a new MongoCollection instance with the different ReadConcern
        Since:
        3.2
        MongoDB documentation
        Read Concern
        Since server release
        3.2
      • count

        @Deprecated
        long count​(Bson filter)
        Deprecated.
        Counts the number of documents in the collection according to the given options.
        Parameters:
        filter - the query filter
        Returns:
        the number of documents in the collection
      • count

        @Deprecated
        long count​(Bson filter,
                   CountOptions options)
        Deprecated.
        Counts the number of documents in the collection according to the given options.
        Parameters:
        filter - the query filter
        options - the options describing the count
        Returns:
        the number of documents in the collection
      • count

        @Deprecated
        long count​(ClientSession clientSession)
        Deprecated.
        Counts the number of documents in the collection.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the number of documents in the collection
        Since:
        3.6
        Since server release
        3.6
      • count

        @Deprecated
        long count​(ClientSession clientSession,
                   Bson filter)
        Deprecated.
        Counts the number of documents in the collection according to the given options.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        Returns:
        the number of documents in the collection
        Since:
        3.6
        Since server release
        3.6
      • count

        @Deprecated
        long count​(ClientSession clientSession,
                   Bson filter,
                   CountOptions options)
        Counts the number of documents in the collection according to the given options.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        options - the options describing the count
        Returns:
        the number of documents in the collection
        Since:
        3.6
        Since server release
        3.6
      • countDocuments

        long countDocuments()
        Counts the number of documents in the collection.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Returns:
        the number of documents in the collection
        Since:
        3.8
      • countDocuments

        long countDocuments​(Bson filter)
        Counts the number of documents in the collection according to the given options.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Parameters:
        filter - the query filter
        Returns:
        the number of documents in the collection
        Since:
        3.8
      • countDocuments

        long countDocuments​(Bson filter,
                            CountOptions options)
        Counts the number of documents in the collection according to the given options.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Parameters:
        filter - the query filter
        options - the options describing the count
        Returns:
        the number of documents in the collection
        Since:
        3.8
      • countDocuments

        long countDocuments​(ClientSession clientSession)
        Counts the number of documents in the collection.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the number of documents in the collection
        Since:
        3.8
        Since server release
        3.6
      • countDocuments

        long countDocuments​(ClientSession clientSession,
                            Bson filter)
        Counts the number of documents in the collection according to the given options.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        Returns:
        the number of documents in the collection
        Since:
        3.8
        Since server release
        3.6
      • countDocuments

        long countDocuments​(ClientSession clientSession,
                            Bson filter,
                            CountOptions options)
        Counts the number of documents in the collection according to the given options.

        Note: For a fast count of the total documents in a collection see estimatedDocumentCount(). When migrating from count() to countDocuments() the following query operators must be replaced:

        
          +-------------+--------------------------------+
          | Operator    | Replacement                    |
          +=============+================================+
          | $where      |  $expr                         |
          +-------------+--------------------------------+
          | $near       |  $geoWithin with $center       |
          +-------------+--------------------------------+
          | $nearSphere |  $geoWithin with $centerSphere |
          +-------------+--------------------------------+
         
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        options - the options describing the count
        Returns:
        the number of documents in the collection
        Since:
        3.8
        Since server release
        3.6
      • estimatedDocumentCount

        long estimatedDocumentCount()
        Gets an estimate of the count of documents in a collection using collection metadata.
        Returns:
        the number of documents in the collection
        Since:
        3.8
      • estimatedDocumentCount

        long estimatedDocumentCount​(EstimatedDocumentCountOptions options)
        Gets an estimate of the count of documents in a collection using collection metadata.
        Parameters:
        options - the options describing the count
        Returns:
        the number of documents in the collection
        Since:
        3.8
      • distinct

        <TResult> DistinctIterable<TResult> distinct​(String fieldName,
                                                     Class<TResult> resultClass)
        Gets the distinct values of the specified field name.
        Type Parameters:
        TResult - the target type of the iterable.
        Parameters:
        fieldName - the field name
        resultClass - the class to cast any distinct items into.
        Returns:
        an iterable of distinct values
        MongoDB documentation
        Distinct
      • distinct

        <TResult> DistinctIterable<TResult> distinct​(String fieldName,
                                                     Bson filter,
                                                     Class<TResult> resultClass)
        Gets the distinct values of the specified field name.
        Type Parameters:
        TResult - the target type of the iterable.
        Parameters:
        fieldName - the field name
        filter - the query filter
        resultClass - the class to cast any distinct items into.
        Returns:
        an iterable of distinct values
        MongoDB documentation
        Distinct
      • distinct

        <TResult> DistinctIterable<TResult> distinct​(ClientSession clientSession,
                                                     String fieldName,
                                                     Class<TResult> resultClass)
        Gets the distinct values of the specified field name.
        Type Parameters:
        TResult - the target type of the iterable.
        Parameters:
        clientSession - the client session with which to associate this operation
        fieldName - the field name
        resultClass - the class to cast any distinct items into.
        Returns:
        an iterable of distinct values
        Since:
        3.6
        MongoDB documentation
        Distinct
        Since server release
        3.6
      • distinct

        <TResult> DistinctIterable<TResult> distinct​(ClientSession clientSession,
                                                     String fieldName,
                                                     Bson filter,
                                                     Class<TResult> resultClass)
        Gets the distinct values of the specified field name.
        Type Parameters:
        TResult - the target type of the iterable.
        Parameters:
        clientSession - the client session with which to associate this operation
        fieldName - the field name
        filter - the query filter
        resultClass - the class to cast any distinct items into.
        Returns:
        an iterable of distinct values
        Since:
        3.6
        MongoDB documentation
        Distinct
        Since server release
        3.6
      • find

        FindIterable<TDocument> find()
        Finds all documents in the collection.
        Returns:
        the find iterable interface
        MongoDB documentation
        Find
      • find

        <TResult> FindIterable<TResult> find​(Class<TResult> resultClass)
        Finds all documents in the collection.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        resultClass - the class to decode each document into
        Returns:
        the find iterable interface
        MongoDB documentation
        Find
      • find

        FindIterable<TDocument> find​(Bson filter)
        Finds all documents in the collection.
        Parameters:
        filter - the query filter
        Returns:
        the find iterable interface
        MongoDB documentation
        Find
      • find

        <TResult> FindIterable<TResult> find​(Bson filter,
                                             Class<TResult> resultClass)
        Finds all documents in the collection.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        filter - the query filter
        resultClass - the class to decode each document into
        Returns:
        the find iterable interface
        MongoDB documentation
        Find
      • find

        FindIterable<TDocument> find​(ClientSession clientSession)
        Finds all documents in the collection.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the find iterable interface
        Since:
        3.6
        MongoDB documentation
        Find
        Since server release
        3.6
      • find

        <TResult> FindIterable<TResult> find​(ClientSession clientSession,
                                             Class<TResult> resultClass)
        Finds all documents in the collection.
        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 find iterable interface
        Since:
        3.6
        MongoDB documentation
        Find
        Since server release
        3.6
      • find

        FindIterable<TDocument> find​(ClientSession clientSession,
                                     Bson filter)
        Finds all documents in the collection.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        Returns:
        the find iterable interface
        Since:
        3.6
        MongoDB documentation
        Find
        Since server release
        3.6
      • find

        <TResult> FindIterable<TResult> find​(ClientSession clientSession,
                                             Bson filter,
                                             Class<TResult> resultClass)
        Finds all documents in the collection.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        resultClass - the class to decode each document into
        Returns:
        the find iterable interface
        Since:
        3.6
        MongoDB documentation
        Find
        Since server release
        3.6
      • aggregate

        AggregateIterable<TDocument> aggregate​(List<? extends Bson> pipeline)
        Aggregates documents according to the specified aggregation pipeline.
        Parameters:
        pipeline - the aggregation pipeline
        Returns:
        an iterable containing the result of the aggregation operation
        MongoDB documentation
        Aggregation
        Since server release
        2.2
      • aggregate

        <TResult> AggregateIterable<TResult> aggregate​(List<? extends Bson> pipeline,
                                                       Class<TResult> resultClass)
        Aggregates documents according to the specified aggregation pipeline.
        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
        MongoDB documentation
        Aggregation
        Since server release
        2.2
      • aggregate

        AggregateIterable<TDocument> aggregate​(ClientSession clientSession,
                                               List<? extends Bson> pipeline)
        Aggregates documents according to the specified aggregation pipeline.
        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.6
        MongoDB documentation
        Aggregation
        Since server release
        3.6
      • aggregate

        <TResult> AggregateIterable<TResult> aggregate​(ClientSession clientSession,
                                                       List<? extends Bson> pipeline,
                                                       Class<TResult> resultClass)
        Aggregates documents according to the specified aggregation pipeline.
        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.6
        MongoDB documentation
        Aggregation
        Since server release
        3.6
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(Class<TResult> resultClass)
        Creates a change stream for this collection.
        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.6
        MongoDB documentation
        Change Streams
      • watch

        ChangeStreamIterable<TDocument> watch​(List<? extends Bson> pipeline)
        Creates a change stream for this collection.
        Parameters:
        pipeline - the aggregation pipeline to apply to the change stream.
        Returns:
        the change stream iterable
        Since:
        3.6
        MongoDB documentation
        Change Streams
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(List<? extends Bson> pipeline,
                                                      Class<TResult> resultClass)
        Creates a change stream for this collection.
        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.6
        MongoDB documentation
        Change Streams
      • watch

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

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      Class<TResult> resultClass)
        Creates a change stream for this collection.
        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.6
        MongoDB documentation
        Change Streams
        Since server release
        3.6
      • watch

        ChangeStreamIterable<TDocument> watch​(ClientSession clientSession,
                                              List<? extends Bson> pipeline)
        Creates a change stream for this collection.
        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.6
        MongoDB documentation
        Change Streams
        Since server release
        3.6
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      List<? extends Bson> pipeline,
                                                      Class<TResult> resultClass)
        Creates a change stream for this collection.
        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.6
        MongoDB documentation
        Change Streams
        Since server release
        3.6
      • mapReduce

        MapReduceIterable<TDocument> mapReduce​(String mapFunction,
                                               String reduceFunction)
        Aggregates documents according to the specified map-reduce function.
        Parameters:
        mapFunction - A JavaScript function that associates or "maps" a value with a key and emits the key and value pair.
        reduceFunction - A JavaScript function that "reduces" to a single object all the values associated with a particular key.
        Returns:
        an iterable containing the result of the map-reduce operation
        MongoDB documentation
        map-reduce
      • mapReduce

        <TResult> MapReduceIterable<TResult> mapReduce​(String mapFunction,
                                                       String reduceFunction,
                                                       Class<TResult> resultClass)
        Aggregates documents according to the specified map-reduce function.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        mapFunction - A JavaScript function that associates or "maps" a value with a key and emits the key and value pair.
        reduceFunction - A JavaScript function that "reduces" to a single object all the values associated with a particular key.
        resultClass - the class to decode each resulting document into.
        Returns:
        an iterable containing the result of the map-reduce operation
        MongoDB documentation
        map-reduce
      • mapReduce

        MapReduceIterable<TDocument> mapReduce​(ClientSession clientSession,
                                               String mapFunction,
                                               String reduceFunction)
        Aggregates documents according to the specified map-reduce function.
        Parameters:
        clientSession - the client session with which to associate this operation
        mapFunction - A JavaScript function that associates or "maps" a value with a key and emits the key and value pair.
        reduceFunction - A JavaScript function that "reduces" to a single object all the values associated with a particular key.
        Returns:
        an iterable containing the result of the map-reduce operation
        Since:
        3.6
        MongoDB documentation
        map-reduce
        Since server release
        3.6
      • mapReduce

        <TResult> MapReduceIterable<TResult> mapReduce​(ClientSession clientSession,
                                                       String mapFunction,
                                                       String reduceFunction,
                                                       Class<TResult> resultClass)
        Aggregates documents according to the specified map-reduce function.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        clientSession - the client session with which to associate this operation
        mapFunction - A JavaScript function that associates or "maps" a value with a key and emits the key and value pair.
        reduceFunction - A JavaScript function that "reduces" to a single object all the values associated with a particular key.
        resultClass - the class to decode each resulting document into.
        Returns:
        an iterable containing the result of the map-reduce operation
        Since:
        3.6
        MongoDB documentation
        map-reduce
        Since server release
        3.6
      • bulkWrite

        BulkWriteResult bulkWrite​(List<? extends WriteModel<? extends TDocument>> requests)
        Executes a mix of inserts, updates, replaces, and deletes.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled. The eligibility for retryable write support for bulk operations is determined on the whole bulk write. If the requests contain any UpdateManyModels or DeleteManyModels then the bulk operation will not support retryable writes.

        Parameters:
        requests - the writes to execute
        Returns:
        the result of the bulk write
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoException - if there's an exception running the operation
      • bulkWrite

        BulkWriteResult bulkWrite​(List<? extends WriteModel<? extends TDocument>> requests,
                                  BulkWriteOptions options)
        Executes a mix of inserts, updates, replaces, and deletes.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled. The eligibility for retryable write support for bulk operations is determined on the whole bulk write. If the requests contain any UpdateManyModels or DeleteManyModels then the bulk operation will not support retryable writes.

        Parameters:
        requests - the writes to execute
        options - the options to apply to the bulk write operation
        Returns:
        the result of the bulk write
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoException - if there's an exception running the operation
      • bulkWrite

        BulkWriteResult bulkWrite​(ClientSession clientSession,
                                  List<? extends WriteModel<? extends TDocument>> requests)
        Executes a mix of inserts, updates, replaces, and deletes.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled. The eligibility for retryable write support for bulk operations is determined on the whole bulk write. If the requests contain any UpdateManyModels or DeleteManyModels then the bulk operation will not support retryable writes.

        Parameters:
        clientSession - the client session with which to associate this operation
        requests - the writes to execute
        Returns:
        the result of the bulk write
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoException - if there's an exception running the operation
        Since:
        3.6
        Since server release
        3.6
      • bulkWrite

        BulkWriteResult bulkWrite​(ClientSession clientSession,
                                  List<? extends WriteModel<? extends TDocument>> requests,
                                  BulkWriteOptions options)
        Executes a mix of inserts, updates, replaces, and deletes.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled. The eligibility for retryable write support for bulk operations is determined on the whole bulk write. If the requests contain any UpdateManyModels or DeleteManyModels then the bulk operation will not support retryable writes.

        Parameters:
        clientSession - the client session with which to associate this operation
        requests - the writes to execute
        options - the options to apply to the bulk write operation
        Returns:
        the result of the bulk write
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoException - if there's an exception running the operation
        Since:
        3.6
        Since server release
        3.6
      • insertOne

        void insertOne​(TDocument document)
        Inserts the provided document. If the document is missing an identifier, the driver should generate one.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        document - the document to insert
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
      • insertOne

        void insertOne​(TDocument document,
                       InsertOneOptions options)
        Inserts the provided document. If the document is missing an identifier, the driver should generate one.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        document - the document to insert
        options - the options to apply to the operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.2
      • insertOne

        void insertOne​(ClientSession clientSession,
                       TDocument document)
        Inserts the provided document. If the document is missing an identifier, the driver should generate one.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        document - the document to insert
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • insertOne

        void insertOne​(ClientSession clientSession,
                       TDocument document,
                       InsertOneOptions options)
        Inserts the provided document. If the document is missing an identifier, the driver should generate one.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        document - the document to insert
        options - the options to apply to the operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • insertMany

        void insertMany​(List<? extends TDocument> documents,
                        InsertManyOptions options)
        Inserts one or more documents. A call to this method is equivalent to a call to the bulkWrite method

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        documents - the documents to insert
        options - the options to apply to the operation
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
      • insertMany

        void insertMany​(ClientSession clientSession,
                        List<? extends TDocument> documents,
                        InsertManyOptions options)
        Inserts one or more documents. A call to this method is equivalent to a call to the bulkWrite method

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        documents - the documents to insert
        options - the options to apply to the operation
        Throws:
        MongoBulkWriteException - if there's an exception in the bulk write operation
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • deleteOne

        DeleteResult deleteOne​(Bson filter)
        Removes at most one document from the collection that matches the given filter. If no documents match, the collection is not modified.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the delete operation
        Returns:
        the result of the remove one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
      • deleteOne

        DeleteResult deleteOne​(Bson filter,
                               DeleteOptions options)
        Removes at most one document from the collection that matches the given filter. If no documents match, the collection is not modified.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the delete operation
        options - the options to apply to the delete operation
        Returns:
        the result of the remove one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.4
      • deleteOne

        DeleteResult deleteOne​(ClientSession clientSession,
                               Bson filter)
        Removes at most one document from the collection that matches the given filter. If no documents match, the collection is not modified.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the delete operation
        Returns:
        the result of the remove one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • deleteOne

        DeleteResult deleteOne​(ClientSession clientSession,
                               Bson filter,
                               DeleteOptions options)
        Removes at most one document from the collection that matches the given filter. If no documents match, the collection is not modified.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the delete operation
        options - the options to apply to the delete operation
        Returns:
        the result of the remove one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • deleteMany

        DeleteResult deleteMany​(Bson filter)
        Removes all documents from the collection that match the given query filter. If no documents match, the collection is not modified.
        Parameters:
        filter - the query filter to apply the the delete operation
        Returns:
        the result of the remove many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
      • deleteMany

        DeleteResult deleteMany​(Bson filter,
                                DeleteOptions options)
        Removes all documents from the collection that match the given query filter. If no documents match, the collection is not modified.
        Parameters:
        filter - the query filter to apply the the delete operation
        options - the options to apply to the delete operation
        Returns:
        the result of the remove many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.4
      • deleteMany

        DeleteResult deleteMany​(ClientSession clientSession,
                                Bson filter)
        Removes all documents from the collection that match the given query filter. If no documents match, the collection is not modified.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the delete operation
        Returns:
        the result of the remove many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • deleteMany

        DeleteResult deleteMany​(ClientSession clientSession,
                                Bson filter,
                                DeleteOptions options)
        Removes all documents from the collection that match the given query filter. If no documents match, the collection is not modified.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the delete operation
        options - the options to apply to the delete operation
        Returns:
        the result of the remove many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        Since server release
        3.6
      • replaceOne

        UpdateResult replaceOne​(Bson filter,
                                TDocument replacement)
        Replace a document in the collection according to the specified arguments.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding updateOne(Bson, Bson) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        Returns:
        the result of the replace one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        MongoDB documentation
        Replace
        Update Command Behaviors
      • replaceOne

        UpdateResult replaceOne​(Bson filter,
                                TDocument replacement,
                                ReplaceOptions replaceOptions)
        Replace a document in the collection according to the specified arguments.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding updateOne(Bson, Bson, UpdateOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        replaceOptions - the options to apply to the replace operation
        Returns:
        the result of the replace one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.7
        MongoDB documentation
        Replace
        Update Command Behaviors
      • replaceOne

        UpdateResult replaceOne​(ClientSession clientSession,
                                Bson filter,
                                TDocument replacement)
        Replace a document in the collection according to the specified arguments.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding updateOne(ClientSession, Bson, Bson) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        Returns:
        the result of the replace one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        MongoDB documentation
        Replace
        Update Command Behaviors
        Since server release
        3.6
      • replaceOne

        UpdateResult replaceOne​(ClientSession clientSession,
                                Bson filter,
                                TDocument replacement,
                                ReplaceOptions replaceOptions)
        Replace a document in the collection according to the specified arguments.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding updateOne(ClientSession, Bson, Bson, UpdateOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        replaceOptions - the options to apply to the replace operation
        Returns:
        the result of the replace one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.7
        MongoDB documentation
        Replace
        Update Command Behaviors
        Since server release
        3.6
      • updateOne

        UpdateResult updateOne​(Bson filter,
                               Bson update)
        Update a single document in the collection according to the specified arguments.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding replaceOne(Bson, Object) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        See Also:
        replaceOne(Bson, Object)
        MongoDB documentation
        Updates
        Update Operators
        Update Command Behaviors
      • updateOne

        UpdateResult updateOne​(Bson filter,
                               Bson update,
                               UpdateOptions updateOptions)
        Update a single document in the collection according to the specified arguments.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding replaceOne(Bson, Object, ReplaceOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        See Also:
        replaceOne(Bson, Object, ReplaceOptions)
        MongoDB documentation
        Updates
        Update Operators
        Update Command Behaviors
      • updateOne

        UpdateResult updateOne​(ClientSession clientSession,
                               Bson filter,
                               Bson update)
        Update a single document in the collection according to the specified arguments.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding replaceOne(ClientSession, Bson, Object) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        See Also:
        replaceOne(ClientSession, Bson, Object)
        MongoDB documentation
        Updates
        Update Operators
        Update Command Behaviors
        Since server release
        3.6
      • updateOne

        UpdateResult updateOne​(ClientSession clientSession,
                               Bson filter,
                               Bson update,
                               UpdateOptions updateOptions)
        Update a single document in the collection according to the specified arguments.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding replaceOne(ClientSession, Bson, Object, ReplaceOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        See Also:
        replaceOne(ClientSession, Bson, Object, ReplaceOptions)
        MongoDB documentation
        Updates
        Update Operators
        Update Command Behaviors
        Since server release
        3.6
      • updateOne

        UpdateResult updateOne​(Bson filter,
                               List<? extends Bson> update)
        Update a single document in the collection according to the specified arguments.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateOne

        UpdateResult updateOne​(Bson filter,
                               List<? extends Bson> update,
                               UpdateOptions updateOptions)
        Update a single document in the collection according to the specified arguments.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateOne

        UpdateResult updateOne​(ClientSession clientSession,
                               Bson filter,
                               List<? extends Bson> update)
        Update a single document in the collection according to the specified arguments.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateOne

        UpdateResult updateOne​(ClientSession clientSession,
                               Bson filter,
                               List<? extends Bson> update,
                               UpdateOptions updateOptions)
        Update a single document in the collection according to the specified arguments.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update one operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateMany

        UpdateResult updateMany​(Bson filter,
                                Bson update)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include only update operators.
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        MongoDB documentation
        Updates
        Update Operators
      • updateMany

        UpdateResult updateMany​(Bson filter,
                                Bson update,
                                UpdateOptions updateOptions)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include only update operators.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        MongoDB documentation
        Updates
        Update Operators
      • updateMany

        UpdateResult updateMany​(ClientSession clientSession,
                                Bson filter,
                                Bson update)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include only update operators.
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        3.6
      • updateMany

        UpdateResult updateMany​(ClientSession clientSession,
                                Bson filter,
                                Bson update,
                                UpdateOptions updateOptions)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include only update operators.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due to some specific write exception
        MongoWriteConcernException - if the write failed due to being unable to fulfil the write concern
        MongoCommandException - if the write failed due to a specific command exception
        MongoException - if the write failed due some other failure
        Since:
        3.6
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        3.6
      • updateMany

        UpdateResult updateMany​(Bson filter,
                                List<? extends Bson> update)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateMany

        UpdateResult updateMany​(Bson filter,
                                List<? extends Bson> update,
                                UpdateOptions updateOptions)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateMany

        UpdateResult updateMany​(ClientSession clientSession,
                                Bson filter,
                                List<? extends Bson> update)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • updateMany

        UpdateResult updateMany​(ClientSession clientSession,
                                Bson filter,
                                List<? extends Bson> update,
                                UpdateOptions updateOptions)
        Update all documents in the collection according to the specified arguments.
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        updateOptions - the options to apply to the update operation
        Returns:
        the result of the update many operation
        Throws:
        MongoWriteException - if the write failed due some other failure specific to the update command
        MongoWriteConcernException - if the write failed due being unable to fulfil the write concern
        MongoException - if the write failed due some other failure
        Since:
        3.11
        MongoDB documentation
        Updates
        Update Operators
        Since server release
        4.2
      • findOneAndDelete

        @Nullable
        TDocument findOneAndDelete​(Bson filter)
        Atomically find a document and remove it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to find the document with
        Returns:
        the document that was removed. If no documents matched the query filter, then null will be returned
      • findOneAndDelete

        @Nullable
        TDocument findOneAndDelete​(Bson filter,
                                   FindOneAndDeleteOptions options)
        Atomically find a document and remove it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to find the document with
        options - the options to apply to the operation
        Returns:
        the document that was removed. If no documents matched the query filter, then null will be returned
      • findOneAndDelete

        @Nullable
        TDocument findOneAndDelete​(ClientSession clientSession,
                                   Bson filter)
        Atomically find a document and remove it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to find the document with
        Returns:
        the document that was removed. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        Since server release
        3.6
      • findOneAndDelete

        @Nullable
        TDocument findOneAndDelete​(ClientSession clientSession,
                                   Bson filter,
                                   FindOneAndDeleteOptions options)
        Atomically find a document and remove it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to find the document with
        options - the options to apply to the operation
        Returns:
        the document that was removed. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        Since server release
        3.6
      • findOneAndReplace

        @Nullable
        TDocument findOneAndReplace​(Bson filter,
                                    TDocument replacement)
        Atomically find a document and replace it.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding findOneAndUpdate(Bson, Bson) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        Returns:
        the document that was replaced. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        MongoDB documentation
        Update Command Behaviors
      • findOneAndReplace

        @Nullable
        TDocument findOneAndReplace​(Bson filter,
                                    TDocument replacement,
                                    FindOneAndReplaceOptions options)
        Atomically find a document and replace it.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding findOneAndUpdate(Bson, Bson, FindOneAndUpdateOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        options - the options to apply to the operation
        Returns:
        the document that was replaced. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        MongoDB documentation
        Update Command Behaviors
      • findOneAndReplace

        @Nullable
        TDocument findOneAndReplace​(ClientSession clientSession,
                                    Bson filter,
                                    TDocument replacement)
        Atomically find a document and replace it.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding findOneAndUpdate(ClientSession, Bson, Bson) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        Returns:
        the document that was replaced. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        MongoDB documentation
        Update Command Behaviors
        Since server release
        3.6
      • findOneAndReplace

        @Nullable
        TDocument findOneAndReplace​(ClientSession clientSession,
                                    Bson filter,
                                    TDocument replacement,
                                    FindOneAndReplaceOptions options)
        Atomically find a document and replace it.

        Use this method to replace a document using the specified replacement argument. To update the document with update operators, use the corresponding findOneAndUpdate(ClientSession, Bson, Bson, FindOneAndUpdateOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter to apply the the replace operation
        replacement - the replacement document
        options - the options to apply to the operation
        Returns:
        the document that was replaced. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        MongoDB documentation
        Update Command Behaviors
        Since server release
        3.6
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(Bson filter,
                                   Bson update)
        Atomically find a document and update it.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding findOneAndReplace(Bson, Object) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        Returns:
        the document that was updated before the update was applied. If no documents matched the query filter, then null will be returned
        See Also:
        findOneAndReplace(Bson, Object)
        MongoDB documentation
        Update Command Behaviors
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(Bson filter,
                                   Bson update,
                                   FindOneAndUpdateOptions options)
        Atomically find a document and update it.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding findOneAndReplace(Bson, Object, FindOneAndReplaceOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        options - the options to apply to the operation
        Returns:
        the document that was updated. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        See Also:
        findOneAndReplace(Bson, Object, FindOneAndReplaceOptions)
        MongoDB documentation
        Update Command Behaviors
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(ClientSession clientSession,
                                   Bson filter,
                                   Bson update)
        Atomically find a document and update it.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding findOneAndReplace(ClientSession, Bson, Object) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        Returns:
        the document that was updated before the update was applied. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        See Also:
        findOneAndReplace(ClientSession, Bson, Object)
        MongoDB documentation
        Update Command Behaviors
        Since server release
        3.6
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(ClientSession clientSession,
                                   Bson filter,
                                   Bson update,
                                   FindOneAndUpdateOptions options)
        Atomically find a document and update it.

        Use this method to only update the corresponding fields in the document according to the update operators used in the update document. To replace the entire document with a new document, use the corresponding findOneAndReplace(ClientSession, Bson, Object, FindOneAndReplaceOptions) method.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a document describing the update, which may not be null. The update to apply must include at least one update operator.
        options - the options to apply to the operation
        Returns:
        the document that was updated. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        Since:
        3.6
        See Also:
        findOneAndReplace(ClientSession, Bson, Object, FindOneAndReplaceOptions)
        MongoDB documentation
        Update Command Behaviors
        Since server release
        3.6
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(Bson filter,
                                   List<? extends Bson> update)
        Atomically find a document and update it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the document that was updated before the update was applied. If no documents matched the query filter, then null will be returned
        Since:
        3.11
        Since server release
        4.2
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(Bson filter,
                                   List<? extends Bson> update,
                                   FindOneAndUpdateOptions options)
        Atomically find a document and update it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        options - the options to apply to the operation
        Returns:
        the document that was updated. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        Since:
        3.11
        Since server release
        4.2
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(ClientSession clientSession,
                                   Bson filter,
                                   List<? extends Bson> update)
        Atomically find a document and update it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        Returns:
        the document that was updated before the update was applied. If no documents matched the query filter, then null will be returned
        Since:
        3.11
        Since server release
        4.2
      • findOneAndUpdate

        @Nullable
        TDocument findOneAndUpdate​(ClientSession clientSession,
                                   Bson filter,
                                   List<? extends Bson> update,
                                   FindOneAndUpdateOptions options)
        Atomically find a document and update it.

        Note: Supports retryable writes on MongoDB server versions 3.6 or higher when the retryWrites setting is enabled.

        Parameters:
        clientSession - the client session with which to associate this operation
        filter - a document describing the query filter, which may not be null.
        update - a pipeline describing the update, which may not be null.
        options - the options to apply to the operation
        Returns:
        the document that was updated. Depending on the value of the returnOriginal property, this will either be the document as it was before the update or as it is after the update. If no documents matched the query filter, then null will be returned
        Since:
        3.11
        Since server release
        4.2
      • drop

        void drop()
        Drops this collection from the Database.
        MongoDB documentation
        Drop Collection
      • drop

        void drop​(ClientSession clientSession)
        Drops this collection from the Database.
        Parameters:
        clientSession - the client session with which to associate this operation
        Since:
        3.6
        MongoDB documentation
        Drop Collection
        Since server release
        3.6
      • createIndex

        String createIndex​(Bson keys)
        Create an index with the given keys.
        Parameters:
        keys - an object describing the index key(s), which may not be null.
        Returns:
        the index name
        MongoDB documentation
        Create indexes
      • createIndex

        String createIndex​(Bson keys,
                           IndexOptions indexOptions)
        Create an index with the given keys and options.
        Parameters:
        keys - an object describing the index key(s), which may not be null.
        indexOptions - the options for the index
        Returns:
        the index name
        MongoDB documentation
        Create indexes
      • createIndex

        String createIndex​(ClientSession clientSession,
                           Bson keys)
        Create an index with the given keys.
        Parameters:
        clientSession - the client session with which to associate this operation
        keys - an object describing the index key(s), which may not be null.
        Returns:
        the index name
        Since:
        3.6
        MongoDB documentation
        Create indexes
        Since server release
        3.6
      • createIndex

        String createIndex​(ClientSession clientSession,
                           Bson keys,
                           IndexOptions indexOptions)
        Create an index with the given keys and options.
        Parameters:
        clientSession - the client session with which to associate this operation
        keys - an object describing the index key(s), which may not be null.
        indexOptions - the options for the index
        Returns:
        the index name
        Since:
        3.6
        MongoDB documentation
        Create indexes
        Since server release
        3.6
      • createIndexes

        List<String> createIndexes​(List<IndexModel> indexes)
        Create multiple indexes.
        Parameters:
        indexes - the list of indexes
        Returns:
        the list of index names
        MongoDB documentation
        Create indexes
        Since server release
        2.6
      • createIndexes

        List<String> createIndexes​(List<IndexModel> indexes,
                                   CreateIndexOptions createIndexOptions)
        Create multiple indexes.
        Parameters:
        indexes - the list of indexes
        createIndexOptions - options to use when creating indexes
        Returns:
        the list of index names
        Since:
        3.6
        MongoDB documentation
        Create indexes
      • createIndexes

        List<String> createIndexes​(ClientSession clientSession,
                                   List<IndexModel> indexes)
        Create multiple indexes.
        Parameters:
        clientSession - the client session with which to associate this operation
        indexes - the list of indexes
        Returns:
        the list of index names
        Since:
        3.6
        MongoDB documentation
        Create indexes
        Since server release
        3.6
      • createIndexes

        List<String> createIndexes​(ClientSession clientSession,
                                   List<IndexModel> indexes,
                                   CreateIndexOptions createIndexOptions)
        Create multiple indexes.
        Parameters:
        clientSession - the client session with which to associate this operation
        indexes - the list of indexes
        createIndexOptions - options to use when creating indexes
        Returns:
        the list of index names
        Since:
        3.6
        MongoDB documentation
        Create indexes
        Since server release
        3.6
      • listIndexes

        <TResult> ListIndexesIterable<TResult> listIndexes​(Class<TResult> resultClass)
        Get all the indexes in this collection.
        Type Parameters:
        TResult - the target document type of the iterable.
        Parameters:
        resultClass - the class to decode each document into
        Returns:
        the list indexes iterable interface
        MongoDB documentation
        List indexes
      • listIndexes

        ListIndexesIterable<Document> listIndexes​(ClientSession clientSession)
        Get all the indexes in this collection.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the list indexes iterable interface
        Since:
        3.6
        MongoDB documentation
        List indexes
        Since server release
        3.6
      • listIndexes

        <TResult> ListIndexesIterable<TResult> listIndexes​(ClientSession clientSession,
                                                           Class<TResult> resultClass)
        Get all the indexes in this collection.
        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 indexes iterable interface
        Since:
        3.6
        MongoDB documentation
        List indexes
        Since server release
        3.6
      • dropIndex

        void dropIndex​(String indexName)
        Drops the index given its name.
        Parameters:
        indexName - the name of the index to remove
        MongoDB documentation
        Drop indexes
      • dropIndex

        void dropIndex​(String indexName,
                       DropIndexOptions dropIndexOptions)
        Drops the index given its name.
        Parameters:
        indexName - the name of the index to remove
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
      • dropIndex

        void dropIndex​(Bson keys)
        Drops the index given the keys used to create it.
        Parameters:
        keys - the keys of the index to remove
        MongoDB documentation
        Drop indexes
      • dropIndex

        void dropIndex​(Bson keys,
                       DropIndexOptions dropIndexOptions)
        Drops the index given the keys used to create it.
        Parameters:
        keys - the keys of the index to remove
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
      • dropIndex

        void dropIndex​(ClientSession clientSession,
                       String indexName)
        Drops the index given its name.
        Parameters:
        clientSession - the client session with which to associate this operation
        indexName - the name of the index to remove
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • dropIndex

        void dropIndex​(ClientSession clientSession,
                       Bson keys)
        Drops the index given the keys used to create it.
        Parameters:
        clientSession - the client session with which to associate this operation
        keys - the keys of the index to remove
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • dropIndex

        void dropIndex​(ClientSession clientSession,
                       String indexName,
                       DropIndexOptions dropIndexOptions)
        Drops the index given its name.
        Parameters:
        clientSession - the client session with which to associate this operation
        indexName - the name of the index to remove
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • dropIndex

        void dropIndex​(ClientSession clientSession,
                       Bson keys,
                       DropIndexOptions dropIndexOptions)
        Drops the index given the keys used to create it.
        Parameters:
        clientSession - the client session with which to associate this operation
        keys - the keys of the index to remove
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • dropIndexes

        void dropIndexes()
        Drop all the indexes on this collection, except for the default on _id.
        MongoDB documentation
        Drop indexes
      • dropIndexes

        void dropIndexes​(ClientSession clientSession)
        Drop all the indexes on this collection, except for the default on _id.
        Parameters:
        clientSession - the client session with which to associate this operation
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • dropIndexes

        void dropIndexes​(DropIndexOptions dropIndexOptions)
        Drop all the indexes on this collection, except for the default on _id.
        Parameters:
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
      • dropIndexes

        void dropIndexes​(ClientSession clientSession,
                         DropIndexOptions dropIndexOptions)
        Drop all the indexes on this collection, except for the default on _id.
        Parameters:
        clientSession - the client session with which to associate this operation
        dropIndexOptions - the options to use when dropping indexes
        Since:
        3.6
        MongoDB documentation
        Drop indexes
        Since server release
        3.6
      • renameCollection

        void renameCollection​(MongoNamespace newCollectionNamespace)
        Rename the collection with oldCollectionName to the newCollectionName.
        Parameters:
        newCollectionNamespace - the namespace the collection will be renamed to
        Throws:
        MongoServerException - if you provide a newCollectionName that is the name of an existing collection, or if the oldCollectionName is the name of a collection that doesn't exist
        MongoDB documentation
        Rename collection
      • renameCollection

        void renameCollection​(MongoNamespace newCollectionNamespace,
                              RenameCollectionOptions renameCollectionOptions)
        Rename the collection with oldCollectionName to the newCollectionName.
        Parameters:
        newCollectionNamespace - the name the collection will be renamed to
        renameCollectionOptions - the options for renaming a collection
        Throws:
        MongoServerException - if you provide a newCollectionName that is the name of an existing collection and dropTarget is false, or if the oldCollectionName is the name of a collection that doesn't exist
        MongoDB documentation
        Rename collection
      • renameCollection

        void renameCollection​(ClientSession clientSession,
                              MongoNamespace newCollectionNamespace)
        Rename the collection with oldCollectionName to the newCollectionName.
        Parameters:
        clientSession - the client session with which to associate this operation
        newCollectionNamespace - the namespace the collection will be renamed to
        Throws:
        MongoServerException - if you provide a newCollectionName that is the name of an existing collection, or if the oldCollectionName is the name of a collection that doesn't exist
        Since:
        3.6
        MongoDB documentation
        Rename collection
        Since server release
        3.6
      • renameCollection

        void renameCollection​(ClientSession clientSession,
                              MongoNamespace newCollectionNamespace,
                              RenameCollectionOptions renameCollectionOptions)
        Rename the collection with oldCollectionName to the newCollectionName.
        Parameters:
        clientSession - the client session with which to associate this operation
        newCollectionNamespace - the name the collection will be renamed to
        renameCollectionOptions - the options for renaming a collection
        Throws:
        MongoServerException - if you provide a newCollectionName that is the name of an existing collection and dropTarget is false, or if the oldCollectionName is the name of a collection that doesn't exist
        Since:
        3.6
        MongoDB documentation
        Rename collection
        Since server release
        3.6