Class MongoClient


  • public class MongoClient
    extends Object
    A Vert.x service used to interact with MongoDB server instances.

    Some of the operations might change _id field of passed document.

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Constructor Detail

      • MongoClient

        public MongoClient​(MongoClient delegate)
      • MongoClient

        public MongoClient​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • create

        public static MongoClient create​(Vertx vertx,
                                         JsonObject config)
        Create a Mongo client which maintains its own data source.
        Parameters:
        vertx - the Vert.x instance
        config - the configuration
        Returns:
        the client
      • createShared

        public static MongoClient createShared​(Vertx vertx,
                                               JsonObject config,
                                               String dataSourceName)
        Create a Mongo client which shares its data source with any other Mongo clients created with the same data source name
        Parameters:
        vertx - the Vert.x instance
        config - the configuration
        dataSourceName - the data source name
        Returns:
        the client
      • save

        public MongoClient save​(String collection,
                                JsonObject document,
                                Handler<AsyncResult<String>> resultHandler)
        Save a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        resultHandler - result handler will be provided with the id if document didn't already have one
        Returns:
      • save

        public MongoClient save​(String collection,
                                JsonObject document)
        Save a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        Returns:
      • rxSave

        public io.reactivex.Maybe<String> rxSave​(String collection,
                                                 JsonObject document)
        Save a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        Returns:
      • saveWithOptions

        public MongoClient saveWithOptions​(String collection,
                                           JsonObject document,
                                           WriteOption writeOption,
                                           Handler<AsyncResult<String>> resultHandler)
        Save a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        resultHandler - result handler will be provided with the id if document didn't already have one
        Returns:
      • saveWithOptions

        public MongoClient saveWithOptions​(String collection,
                                           JsonObject document,
                                           WriteOption writeOption)
        Save a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        Returns:
      • rxSaveWithOptions

        public io.reactivex.Maybe<String> rxSaveWithOptions​(String collection,
                                                            JsonObject document,
                                                            WriteOption writeOption)
        Save a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        Returns:
      • insert

        public MongoClient insert​(String collection,
                                  JsonObject document,
                                  Handler<AsyncResult<String>> resultHandler)
        Insert a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        resultHandler - result handler will be provided with the id if document didn't already have one
        Returns:
      • insert

        public MongoClient insert​(String collection,
                                  JsonObject document)
        Insert a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        Returns:
      • rxInsert

        public io.reactivex.Maybe<String> rxInsert​(String collection,
                                                   JsonObject document)
        Insert a document in the specified collection

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        Returns:
      • insertWithOptions

        public MongoClient insertWithOptions​(String collection,
                                             JsonObject document,
                                             WriteOption writeOption,
                                             Handler<AsyncResult<String>> resultHandler)
        Insert a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        resultHandler - result handler will be provided with the id if document didn't already have one
        Returns:
      • insertWithOptions

        public MongoClient insertWithOptions​(String collection,
                                             JsonObject document,
                                             WriteOption writeOption)
        Insert a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        Returns:
      • rxInsertWithOptions

        public io.reactivex.Maybe<String> rxInsertWithOptions​(String collection,
                                                              JsonObject document,
                                                              WriteOption writeOption)
        Insert a document in the specified collection with the specified write option

        This operation might change _id field of document parameter

        Parameters:
        collection - the collection
        document - the document
        writeOption - the write option to use
        Returns:
      • updateCollection

        public MongoClient updateCollection​(String collection,
                                            JsonObject query,
                                            JsonObject update,
                                            Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Update matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • updateCollection

        public MongoClient updateCollection​(String collection,
                                            JsonObject query,
                                            JsonObject update)
        Update matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        Returns:
      • rxUpdateCollection

        public io.reactivex.Maybe<MongoClientUpdateResult> rxUpdateCollection​(String collection,
                                                                              JsonObject query,
                                                                              JsonObject update)
        Update matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        Returns:
      • updateCollection

        public MongoClient updateCollection​(String collection,
                                            JsonObject query,
                                            JsonArray update,
                                            Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Use an aggregation pipeline to update documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • updateCollection

        public MongoClient updateCollection​(String collection,
                                            JsonObject query,
                                            JsonArray update)
        Use an aggregation pipeline to update documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        Returns:
      • rxUpdateCollection

        public io.reactivex.Maybe<MongoClientUpdateResult> rxUpdateCollection​(String collection,
                                                                              JsonObject query,
                                                                              JsonArray update)
        Use an aggregation pipeline to update documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        Returns:
      • updateCollectionWithOptions

        public MongoClient updateCollectionWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject update,
                                                       UpdateOptions options,
                                                       Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Update matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        options - options to configure the update
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • updateCollectionWithOptions

        public MongoClient updateCollectionWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject update,
                                                       UpdateOptions options)
        Update matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        options - options to configure the update
        Returns:
      • rxUpdateCollectionWithOptions

        public io.reactivex.Maybe<MongoClientUpdateResult> rxUpdateCollectionWithOptions​(String collection,
                                                                                         JsonObject query,
                                                                                         JsonObject update,
                                                                                         UpdateOptions options)
        Update matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - used to describe how the documents will be updated
        options - options to configure the update
        Returns:
      • updateCollectionWithOptions

        public MongoClient updateCollectionWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonArray update,
                                                       UpdateOptions options,
                                                       Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Use an aggregation pipeline to update documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - aggregation pipeline used to describe how documents will be updated
        options - options to configure the update
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • updateCollectionWithOptions

        public MongoClient updateCollectionWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonArray update,
                                                       UpdateOptions options)
        Use an aggregation pipeline to update documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - aggregation pipeline used to describe how documents will be updated
        options - options to configure the update
        Returns:
      • rxUpdateCollectionWithOptions

        public io.reactivex.Maybe<MongoClientUpdateResult> rxUpdateCollectionWithOptions​(String collection,
                                                                                         JsonObject query,
                                                                                         JsonArray update,
                                                                                         UpdateOptions options)
        Use an aggregation pipeline to update documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        update - aggregation pipeline used to describe how documents will be updated
        options - options to configure the update
        Returns:
      • replaceDocuments

        public MongoClient replaceDocuments​(String collection,
                                            JsonObject query,
                                            JsonObject replace,
                                            Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Replace matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • replaceDocuments

        public MongoClient replaceDocuments​(String collection,
                                            JsonObject query,
                                            JsonObject replace)
        Replace matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        Returns:
      • rxReplaceDocuments

        public io.reactivex.Maybe<MongoClientUpdateResult> rxReplaceDocuments​(String collection,
                                                                              JsonObject query,
                                                                              JsonObject replace)
        Replace matching documents in the specified collection and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        Returns:
      • replaceDocumentsWithOptions

        public MongoClient replaceDocumentsWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject replace,
                                                       UpdateOptions options,
                                                       Handler<AsyncResult<MongoClientUpdateResult>> resultHandler)
        Replace matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        options - options to configure the replace
        resultHandler - will be called with a MongoClientUpdateResult when complete
        Returns:
      • replaceDocumentsWithOptions

        public MongoClient replaceDocumentsWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject replace,
                                                       UpdateOptions options)
        Replace matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        options - options to configure the replace
        Returns:
      • rxReplaceDocumentsWithOptions

        public io.reactivex.Maybe<MongoClientUpdateResult> rxReplaceDocumentsWithOptions​(String collection,
                                                                                         JsonObject query,
                                                                                         JsonObject replace,
                                                                                         UpdateOptions options)
        Replace matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result
        Parameters:
        collection - the collection
        query - query used to match the documents
        replace - all matching documents will be replaced with this
        options - options to configure the replace
        Returns:
      • bulkWrite

        public MongoClient bulkWrite​(String collection,
                                     List<BulkOperation> operations)
        Execute a bulk operation. Can insert, update, replace, and/or delete multiple documents with one request.
        Parameters:
        collection - the collection
        operations - the operations to execute
        Returns:
      • rxBulkWrite

        public io.reactivex.Maybe<MongoClientBulkWriteResult> rxBulkWrite​(String collection,
                                                                          List<BulkOperation> operations)
        Execute a bulk operation. Can insert, update, replace, and/or delete multiple documents with one request.
        Parameters:
        collection - the collection
        operations - the operations to execute
        Returns:
      • bulkWriteWithOptions

        public MongoClient bulkWriteWithOptions​(String collection,
                                                List<BulkOperation> operations,
                                                BulkWriteOptions bulkWriteOptions)
        Execute a bulk operation with the specified write options. Can insert, update, replace, and/or delete multiple documents with one request.
        Parameters:
        collection - the collection
        operations - the operations to execute
        bulkWriteOptions - the write options
        Returns:
      • rxBulkWriteWithOptions

        public io.reactivex.Maybe<MongoClientBulkWriteResult> rxBulkWriteWithOptions​(String collection,
                                                                                     List<BulkOperation> operations,
                                                                                     BulkWriteOptions bulkWriteOptions)
        Execute a bulk operation with the specified write options. Can insert, update, replace, and/or delete multiple documents with one request.
        Parameters:
        collection - the collection
        operations - the operations to execute
        bulkWriteOptions - the write options
        Returns:
      • find

        public MongoClient find​(String collection,
                                JsonObject query,
                                Handler<AsyncResult<List<JsonObject>>> resultHandler)
        Find matching documents in the specified collection
        Parameters:
        collection - the collection
        query - query used to match documents
        resultHandler - will be provided with list of documents
        Returns:
      • find

        public MongoClient find​(String collection,
                                JsonObject query)
        Find matching documents in the specified collection
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • rxFind

        public io.reactivex.Single<List<JsonObject>> rxFind​(String collection,
                                                            JsonObject query)
        Find matching documents in the specified collection
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • findBatch

        public ReadStream<JsonObject> findBatch​(String collection,
                                                JsonObject query)
        Find matching documents in the specified collection. This method use batchCursor for returning each found document.
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
        a emitting found documents
      • findWithOptions

        public MongoClient findWithOptions​(String collection,
                                           JsonObject query,
                                           FindOptions options,
                                           Handler<AsyncResult<List<JsonObject>>> resultHandler)
        Find matching documents in the specified collection, specifying options
        Parameters:
        collection - the collection
        query - query used to match documents
        options - options to configure the find
        resultHandler - will be provided with list of documents
        Returns:
      • findWithOptions

        public MongoClient findWithOptions​(String collection,
                                           JsonObject query,
                                           FindOptions options)
        Find matching documents in the specified collection, specifying options
        Parameters:
        collection - the collection
        query - query used to match documents
        options - options to configure the find
        Returns:
      • rxFindWithOptions

        public io.reactivex.Single<List<JsonObject>> rxFindWithOptions​(String collection,
                                                                       JsonObject query,
                                                                       FindOptions options)
        Find matching documents in the specified collection, specifying options
        Parameters:
        collection - the collection
        query - query used to match documents
        options - options to configure the find
        Returns:
      • findBatchWithOptions

        public ReadStream<JsonObject> findBatchWithOptions​(String collection,
                                                           JsonObject query,
                                                           FindOptions options)
        Find matching documents in the specified collection, specifying options. This method use batchCursor for returning each found document.
        Parameters:
        collection - the collection
        query - query used to match documents
        options - options to configure the find
        Returns:
        a emitting found documents
      • findOne

        public MongoClient findOne​(String collection,
                                   JsonObject query,
                                   JsonObject fields,
                                   Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        fields - the fields
        resultHandler - will be provided with the document, if any
        Returns:
      • findOne

        public MongoClient findOne​(String collection,
                                   JsonObject query,
                                   JsonObject fields)
        Find a single matching document in the specified collection

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        fields - the fields
        Returns:
      • rxFindOne

        public io.reactivex.Maybe<JsonObject> rxFindOne​(String collection,
                                                        JsonObject query,
                                                        JsonObject fields)
        Find a single matching document in the specified collection

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        fields - the fields
        Returns:
      • findOneAndUpdate

        public MongoClient findOneAndUpdate​(String collection,
                                            JsonObject query,
                                            JsonObject update,
                                            Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        resultHandler - will be provided with the document, if any
        Returns:
      • findOneAndUpdate

        public MongoClient findOneAndUpdate​(String collection,
                                            JsonObject query,
                                            JsonObject update)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        Returns:
      • rxFindOneAndUpdate

        public io.reactivex.Maybe<JsonObject> rxFindOneAndUpdate​(String collection,
                                                                 JsonObject query,
                                                                 JsonObject update)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        Returns:
      • findOneAndUpdateWithOptions

        public MongoClient findOneAndUpdateWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject update,
                                                       FindOptions findOptions,
                                                       UpdateOptions updateOptions,
                                                       Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        findOptions - options to configure the find
        updateOptions - options to configure the update
        resultHandler - will be provided with the document, if any
        Returns:
      • findOneAndUpdateWithOptions

        public MongoClient findOneAndUpdateWithOptions​(String collection,
                                                       JsonObject query,
                                                       JsonObject update,
                                                       FindOptions findOptions,
                                                       UpdateOptions updateOptions)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        findOptions - options to configure the find
        updateOptions - options to configure the update
        Returns:
      • rxFindOneAndUpdateWithOptions

        public io.reactivex.Maybe<JsonObject> rxFindOneAndUpdateWithOptions​(String collection,
                                                                            JsonObject query,
                                                                            JsonObject update,
                                                                            FindOptions findOptions,
                                                                            UpdateOptions updateOptions)
        Find a single matching document in the specified collection and update it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        update - used to describe how the documents will be updated
        findOptions - options to configure the find
        updateOptions - options to configure the update
        Returns:
      • findOneAndReplace

        public MongoClient findOneAndReplace​(String collection,
                                             JsonObject query,
                                             JsonObject replace,
                                             Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        resultHandler - will be provided with the document, if any
        Returns:
      • findOneAndReplace

        public MongoClient findOneAndReplace​(String collection,
                                             JsonObject query,
                                             JsonObject replace)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        Returns:
      • rxFindOneAndReplace

        public io.reactivex.Maybe<JsonObject> rxFindOneAndReplace​(String collection,
                                                                  JsonObject query,
                                                                  JsonObject replace)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        Returns:
      • findOneAndReplaceWithOptions

        public MongoClient findOneAndReplaceWithOptions​(String collection,
                                                        JsonObject query,
                                                        JsonObject replace,
                                                        FindOptions findOptions,
                                                        UpdateOptions updateOptions,
                                                        Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        findOptions - options to configure the find
        updateOptions - options to configure the update
        resultHandler - will be provided with the document, if any
        Returns:
      • findOneAndReplaceWithOptions

        public MongoClient findOneAndReplaceWithOptions​(String collection,
                                                        JsonObject query,
                                                        JsonObject replace,
                                                        FindOptions findOptions,
                                                        UpdateOptions updateOptions)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        findOptions - options to configure the find
        updateOptions - options to configure the update
        Returns:
      • rxFindOneAndReplaceWithOptions

        public io.reactivex.Maybe<JsonObject> rxFindOneAndReplaceWithOptions​(String collection,
                                                                             JsonObject query,
                                                                             JsonObject replace,
                                                                             FindOptions findOptions,
                                                                             UpdateOptions updateOptions)
        Find a single matching document in the specified collection and replace it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        replace - the replacement document
        findOptions - options to configure the find
        updateOptions - options to configure the update
        Returns:
      • findOneAndDelete

        public MongoClient findOneAndDelete​(String collection,
                                            JsonObject query,
                                            Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        resultHandler - will be provided with the deleted document, if any
        Returns:
      • findOneAndDelete

        public MongoClient findOneAndDelete​(String collection,
                                            JsonObject query)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        Returns:
      • rxFindOneAndDelete

        public io.reactivex.Maybe<JsonObject> rxFindOneAndDelete​(String collection,
                                                                 JsonObject query)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        Returns:
      • findOneAndDeleteWithOptions

        public MongoClient findOneAndDeleteWithOptions​(String collection,
                                                       JsonObject query,
                                                       FindOptions findOptions,
                                                       Handler<AsyncResult<JsonObject>> resultHandler)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        findOptions - options to configure the find
        resultHandler - will be provided with the deleted document, if any
        Returns:
      • findOneAndDeleteWithOptions

        public MongoClient findOneAndDeleteWithOptions​(String collection,
                                                       JsonObject query,
                                                       FindOptions findOptions)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        findOptions - options to configure the find
        Returns:
      • rxFindOneAndDeleteWithOptions

        public io.reactivex.Maybe<JsonObject> rxFindOneAndDeleteWithOptions​(String collection,
                                                                            JsonObject query,
                                                                            FindOptions findOptions)
        Find a single matching document in the specified collection and delete it.

        This operation might change _id field of query parameter

        Parameters:
        collection - the collection
        query - the query used to match the document
        findOptions - options to configure the find
        Returns:
      • count

        public MongoClient count​(String collection,
                                 JsonObject query,
                                 Handler<AsyncResult<Long>> resultHandler)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        resultHandler - will be provided with the number of matching documents
        Returns:
      • count

        public MongoClient count​(String collection,
                                 JsonObject query)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • rxCount

        public io.reactivex.Single<Long> rxCount​(String collection,
                                                 JsonObject query)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • countWithOptions

        public MongoClient countWithOptions​(String collection,
                                            JsonObject query,
                                            CountOptions countOptions,
                                            Handler<AsyncResult<Long>> resultHandler)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        countOptions -
        resultHandler - will be provided with the number of matching documents
        Returns:
      • countWithOptions

        public MongoClient countWithOptions​(String collection,
                                            JsonObject query,
                                            CountOptions countOptions)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        countOptions -
        Returns:
      • rxCountWithOptions

        public io.reactivex.Single<Long> rxCountWithOptions​(String collection,
                                                            JsonObject query,
                                                            CountOptions countOptions)
        Count matching documents in a collection.
        Parameters:
        collection - the collection
        query - query used to match documents
        countOptions -
        Returns:
      • removeDocuments

        public MongoClient removeDocuments​(String collection,
                                           JsonObject query)
        Remove matching documents from a collection and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • rxRemoveDocuments

        public io.reactivex.Maybe<MongoClientDeleteResult> rxRemoveDocuments​(String collection,
                                                                             JsonObject query)
        Remove matching documents from a collection and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match documents
        Returns:
      • removeDocumentsWithOptions

        public MongoClient removeDocumentsWithOptions​(String collection,
                                                      JsonObject query,
                                                      WriteOption writeOption,
                                                      Handler<AsyncResult<MongoClientDeleteResult>> resultHandler)
        Remove matching documents from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match documents
        writeOption - the write option to use
        resultHandler - will be called with a MongoClientDeleteResult when complete
        Returns:
      • removeDocumentsWithOptions

        public MongoClient removeDocumentsWithOptions​(String collection,
                                                      JsonObject query,
                                                      WriteOption writeOption)
        Remove matching documents from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match documents
        writeOption - the write option to use
        Returns:
      • rxRemoveDocumentsWithOptions

        public io.reactivex.Maybe<MongoClientDeleteResult> rxRemoveDocumentsWithOptions​(String collection,
                                                                                        JsonObject query,
                                                                                        WriteOption writeOption)
        Remove matching documents from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match documents
        writeOption - the write option to use
        Returns:
      • removeDocument

        public MongoClient removeDocument​(String collection,
                                          JsonObject query)
        Remove a single matching document from a collection and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match document
        Returns:
      • rxRemoveDocument

        public io.reactivex.Maybe<MongoClientDeleteResult> rxRemoveDocument​(String collection,
                                                                            JsonObject query)
        Remove a single matching document from a collection and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match document
        Returns:
      • removeDocumentWithOptions

        public MongoClient removeDocumentWithOptions​(String collection,
                                                     JsonObject query,
                                                     WriteOption writeOption,
                                                     Handler<AsyncResult<MongoClientDeleteResult>> resultHandler)
        Remove a single matching document from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match document
        writeOption - the write option to use
        resultHandler - will be called with a MongoClientDeleteResult when complete
        Returns:
      • removeDocumentWithOptions

        public MongoClient removeDocumentWithOptions​(String collection,
                                                     JsonObject query,
                                                     WriteOption writeOption)
        Remove a single matching document from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match document
        writeOption - the write option to use
        Returns:
      • rxRemoveDocumentWithOptions

        public io.reactivex.Maybe<MongoClientDeleteResult> rxRemoveDocumentWithOptions​(String collection,
                                                                                       JsonObject query,
                                                                                       WriteOption writeOption)
        Remove a single matching document from a collection with the specified write option and return the handler with MongoClientDeleteResult result
        Parameters:
        collection - the collection
        query - query used to match document
        writeOption - the write option to use
        Returns:
      • createCollection

        public MongoClient createCollection​(String collectionName,
                                            Handler<AsyncResult<Void>> resultHandler)
        Create a new collection
        Parameters:
        collectionName - the name of the collection
        resultHandler - will be called when complete
        Returns:
      • createCollection

        public MongoClient createCollection​(String collectionName)
        Create a new collection
        Parameters:
        collectionName - the name of the collection
        Returns:
      • rxCreateCollection

        public io.reactivex.Completable rxCreateCollection​(String collectionName)
        Create a new collection
        Parameters:
        collectionName - the name of the collection
        Returns:
      • createCollectionWithOptions

        public MongoClient createCollectionWithOptions​(String collectionName,
                                                       CreateCollectionOptions collectionOptions,
                                                       Handler<AsyncResult<Void>> resultHandler)
        Create a new collection with options
        Parameters:
        collectionName - the name of the collection
        collectionOptions - options of the collection
        resultHandler - will be called when complete
        Returns:
      • createCollectionWithOptions

        public MongoClient createCollectionWithOptions​(String collectionName,
                                                       CreateCollectionOptions collectionOptions)
        Create a new collection with options
        Parameters:
        collectionName - the name of the collection
        collectionOptions - options of the collection
        Returns:
      • rxCreateCollectionWithOptions

        public io.reactivex.Completable rxCreateCollectionWithOptions​(String collectionName,
                                                                      CreateCollectionOptions collectionOptions)
        Create a new collection with options
        Parameters:
        collectionName - the name of the collection
        collectionOptions - options of the collection
        Returns:
      • getCollections

        public MongoClient getCollections​(Handler<AsyncResult<List<String>>> resultHandler)
        Get a list of all collections in the database.
        Parameters:
        resultHandler - will be called with a list of collections.
        Returns:
      • getCollections

        public MongoClient getCollections()
        Get a list of all collections in the database.
        Returns:
      • rxGetCollections

        public io.reactivex.Single<List<String>> rxGetCollections()
        Get a list of all collections in the database.
        Returns:
      • dropCollection

        public MongoClient dropCollection​(String collection,
                                          Handler<AsyncResult<Void>> resultHandler)
        Drop a collection
        Parameters:
        collection - the collection
        resultHandler - will be called when complete
        Returns:
      • dropCollection

        public MongoClient dropCollection​(String collection)
        Drop a collection
        Parameters:
        collection - the collection
        Returns:
      • rxDropCollection

        public io.reactivex.Completable rxDropCollection​(String collection)
        Drop a collection
        Parameters:
        collection - the collection
        Returns:
      • createIndex

        public MongoClient createIndex​(String collection,
                                       JsonObject key,
                                       Handler<AsyncResult<Void>> resultHandler)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        resultHandler - will be called when complete
        Returns:
      • createIndex

        public MongoClient createIndex​(String collection,
                                       JsonObject key)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        Returns:
      • rxCreateIndex

        public io.reactivex.Completable rxCreateIndex​(String collection,
                                                      JsonObject key)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        Returns:
      • createIndexWithOptions

        public MongoClient createIndexWithOptions​(String collection,
                                                  JsonObject key,
                                                  IndexOptions options,
                                                  Handler<AsyncResult<Void>> resultHandler)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        options - the options for the index
        resultHandler - will be called when complete
        Returns:
      • createIndexWithOptions

        public MongoClient createIndexWithOptions​(String collection,
                                                  JsonObject key,
                                                  IndexOptions options)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        options - the options for the index
        Returns:
      • rxCreateIndexWithOptions

        public io.reactivex.Completable rxCreateIndexWithOptions​(String collection,
                                                                 JsonObject key,
                                                                 IndexOptions options)
        Creates an index.
        Parameters:
        collection - the collection
        key - A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        options - the options for the index
        Returns:
      • createIndexes

        public MongoClient createIndexes​(String collection,
                                         List<IndexModel> indexes,
                                         Handler<AsyncResult<Void>> resultHandler)
        creates an indexes
        Parameters:
        collection - the collection
        indexes - A model that contains pairs of document and indexOptions, document contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        resultHandler - will be called when complete
        Returns:
      • createIndexes

        public MongoClient createIndexes​(String collection,
                                         List<IndexModel> indexes)
        creates an indexes
        Parameters:
        collection - the collection
        indexes - A model that contains pairs of document and indexOptions, document contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        Returns:
      • rxCreateIndexes

        public io.reactivex.Completable rxCreateIndexes​(String collection,
                                                        List<IndexModel> indexes)
        creates an indexes
        Parameters:
        collection - the collection
        indexes - A model that contains pairs of document and indexOptions, document contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.
        Returns:
      • listIndexes

        public MongoClient listIndexes​(String collection,
                                       Handler<AsyncResult<JsonArray>> resultHandler)
        Get all the indexes in this collection.
        Parameters:
        collection - the collection
        resultHandler - will be called when complete
        Returns:
      • listIndexes

        public MongoClient listIndexes​(String collection)
        Get all the indexes in this collection.
        Parameters:
        collection - the collection
        Returns:
      • rxListIndexes

        public io.reactivex.Single<JsonArray> rxListIndexes​(String collection)
        Get all the indexes in this collection.
        Parameters:
        collection - the collection
        Returns:
      • dropIndex

        public MongoClient dropIndex​(String collection,
                                     String indexName,
                                     Handler<AsyncResult<Void>> resultHandler)
        Drops the index given its name.
        Parameters:
        collection - the collection
        indexName - the name of the index to remove
        resultHandler - will be called when complete
        Returns:
      • dropIndex

        public MongoClient dropIndex​(String collection,
                                     String indexName)
        Drops the index given its name.
        Parameters:
        collection - the collection
        indexName - the name of the index to remove
        Returns:
      • rxDropIndex

        public io.reactivex.Completable rxDropIndex​(String collection,
                                                    String indexName)
        Drops the index given its name.
        Parameters:
        collection - the collection
        indexName - the name of the index to remove
        Returns:
      • runCommand

        public MongoClient runCommand​(String commandName,
                                      JsonObject command,
                                      Handler<AsyncResult<JsonObject>> resultHandler)
        Run an arbitrary MongoDB command.
        Parameters:
        commandName - the name of the command
        command - the command
        resultHandler - will be called with the result.
        Returns:
      • runCommand

        public MongoClient runCommand​(String commandName,
                                      JsonObject command)
        Run an arbitrary MongoDB command.
        Parameters:
        commandName - the name of the command
        command - the command
        Returns:
      • rxRunCommand

        public io.reactivex.Maybe<JsonObject> rxRunCommand​(String commandName,
                                                           JsonObject command)
        Run an arbitrary MongoDB command.
        Parameters:
        commandName - the name of the command
        command - the command
        Returns:
      • distinct

        public MongoClient distinct​(String collection,
                                    String fieldName,
                                    String resultClassname,
                                    Handler<AsyncResult<JsonArray>> resultHandler)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        resultHandler - will be provided with array of values.
        Returns:
      • distinct

        public MongoClient distinct​(String collection,
                                    String fieldName,
                                    String resultClassname)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        Returns:
      • rxDistinct

        public io.reactivex.Single<JsonArray> rxDistinct​(String collection,
                                                         String fieldName,
                                                         String resultClassname)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        Returns:
      • distinct

        public MongoClient distinct​(String collection,
                                    String fieldName,
                                    String resultClassname,
                                    DistinctOptions distinctOptions,
                                    Handler<AsyncResult<JsonArray>> resultHandler)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        distinctOptions - options (e.g. collation)
        resultHandler - will be provided with array of values.
        Returns:
      • distinct

        public MongoClient distinct​(String collection,
                                    String fieldName,
                                    String resultClassname,
                                    DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        distinctOptions - options (e.g. collation)
        Returns:
      • rxDistinct

        public io.reactivex.Single<JsonArray> rxDistinct​(String collection,
                                                         String fieldName,
                                                         String resultClassname,
                                                         DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        distinctOptions - options (e.g. collation)
        Returns:
      • distinctWithQuery

        public MongoClient distinctWithQuery​(String collection,
                                             String fieldName,
                                             String resultClassname,
                                             JsonObject query,
                                             Handler<AsyncResult<JsonArray>> resultHandler)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        resultHandler - will be provided with array of values.
        Returns:
      • distinctWithQuery

        public MongoClient distinctWithQuery​(String collection,
                                             String fieldName,
                                             String resultClassname,
                                             JsonObject query)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        Returns:
      • rxDistinctWithQuery

        public io.reactivex.Single<JsonArray> rxDistinctWithQuery​(String collection,
                                                                  String fieldName,
                                                                  String resultClassname,
                                                                  JsonObject query)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        Returns:
      • distinctWithQuery

        public MongoClient distinctWithQuery​(String collection,
                                             String fieldName,
                                             String resultClassname,
                                             JsonObject query,
                                             DistinctOptions distinctOptions,
                                             Handler<AsyncResult<JsonArray>> resultHandler)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        distinctOptions - options (e.g. collation)
        resultHandler - will be provided with array of values.
        Returns:
      • distinctWithQuery

        public MongoClient distinctWithQuery​(String collection,
                                             String fieldName,
                                             String resultClassname,
                                             JsonObject query,
                                             DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        distinctOptions - options (e.g. collation)
        Returns:
      • rxDistinctWithQuery

        public io.reactivex.Single<JsonArray> rxDistinctWithQuery​(String collection,
                                                                  String fieldName,
                                                                  String resultClassname,
                                                                  JsonObject query,
                                                                  DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name filtered by specified query. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        distinctOptions - options (e.g. collation)
        Returns:
      • distinctBatch

        public ReadStream<JsonObject> distinctBatch​(String collection,
                                                    String fieldName,
                                                    String resultClassname)
        Gets the distinct values of the specified field name. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        Returns:
        a emitting json fragments
      • distinctBatch

        public ReadStream<JsonObject> distinctBatch​(String collection,
                                                    String fieldName,
                                                    String resultClassname,
                                                    DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        distinctOptions - options (e.g. collation)
        Returns:
        a emitting json fragments
      • distinctBatchWithQuery

        public ReadStream<JsonObject> distinctBatchWithQuery​(String collection,
                                                             String fieldName,
                                                             String resultClassname,
                                                             JsonObject query)
        Gets the distinct values of the specified field name filtered by specified query. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        Returns:
        a emitting json fragments
      • distinctBatchWithQuery

        public ReadStream<JsonObject> distinctBatchWithQuery​(String collection,
                                                             String fieldName,
                                                             String resultClassname,
                                                             JsonObject query,
                                                             DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name filtered by specified query. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        distinctOptions - options (e.g. collation)
        Returns:
        a emitting json fragments
      • distinctBatchWithQuery

        public ReadStream<JsonObject> distinctBatchWithQuery​(String collection,
                                                             String fieldName,
                                                             String resultClassname,
                                                             JsonObject query,
                                                             int batchSize)
        Gets the distinct values of the specified field name filtered by specified query. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        batchSize - the number of documents to load in a batch
        Returns:
        a emitting json fragments
      • distinctBatchWithQuery

        public ReadStream<JsonObject> distinctBatchWithQuery​(String collection,
                                                             String fieldName,
                                                             String resultClassname,
                                                             JsonObject query,
                                                             int batchSize,
                                                             DistinctOptions distinctOptions)
        Gets the distinct values of the specified field name filtered by specified query. This method use batchCursor for returning each found value. Each value is a json fragment with fieldName key (eg: {"num": 1}).
        Parameters:
        collection - the collection
        fieldName - the field name
        resultClassname -
        query - the query
        batchSize - the number of documents to load in a batch
        distinctOptions - options (e.g. collation)
        Returns:
        a emitting json fragments
      • aggregateWithOptions

        public ReadStream<JsonObject> aggregateWithOptions​(String collection,
                                                           JsonArray pipeline,
                                                           AggregateOptions options)
        Run aggregate MongoDB command.
        Parameters:
        collection - the collection
        pipeline - aggregation pipeline to be executed
        options - options to configure the aggregation command
        Returns:
      • createDefaultGridFsBucketService

        public MongoClient createDefaultGridFsBucketService()
        Creates a MongoGridFsClient used to interact with Mongo GridFS.
        Returns:
      • rxCreateDefaultGridFsBucketService

        public io.reactivex.Single<MongoGridFsClient> rxCreateDefaultGridFsBucketService()
        Creates a MongoGridFsClient used to interact with Mongo GridFS.
        Returns:
      • createGridFsBucketService

        public MongoClient createGridFsBucketService​(String bucketName)
        Creates a MongoGridFsClient used to interact with Mongo GridFS.
        Parameters:
        bucketName - the name of the GridFS bucket
        Returns:
      • rxCreateGridFsBucketService

        public io.reactivex.Single<MongoGridFsClient> rxCreateGridFsBucketService​(String bucketName)
        Creates a MongoGridFsClient used to interact with Mongo GridFS.
        Parameters:
        bucketName - the name of the GridFS bucket
        Returns:
      • close

        public void close​(Handler<AsyncResult<Void>> handler)
        Close the client and release its resources
        Parameters:
        handler -
      • close

        public void close()
        Close the client and release its resources
      • rxClose

        public io.reactivex.Completable rxClose()
        Close the client and release its resources
        Returns:
      • watch

        public ReadStream<com.mongodb.client.model.changestream.ChangeStreamDocument<JsonObject>> watch​(String collection,
                                                                                                        JsonArray pipeline,
                                                                                                        boolean withUpdatedDoc,
                                                                                                        int batchSize)
        Watch the collection change.
        Parameters:
        collection - the collection
        pipeline - watching pipeline to be executed
        withUpdatedDoc - whether to get updated fullDocument for "update" operation
        batchSize - the number of documents to load in a batch
        Returns: