Class MongoClient

java.lang.Object
io.vertx.rxjava3.ext.mongo.MongoClient
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate

public class MongoClient extends Object implements io.vertx.lang.rx.RxDelegate
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.

  • Field Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<MongoClient> __TYPE_ARG
    • DEFAULT_POOL_NAME

      public static final String DEFAULT_POOL_NAME
      The name of the default pool
      See Also:
    • DEFAULT_DB_NAME

      public static final String DEFAULT_DB_NAME
      The name of the default database
      See Also:
  • Constructor Details

    • MongoClient

      public MongoClient(MongoClient delegate)
    • MongoClient

      public MongoClient(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public MongoClient getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • 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
    • createShared

      public static MongoClient createShared(Vertx vertx, JsonObject config)
      Like createShared(Vertx, JsonObject, String) but with the default data source name
      Parameters:
      vertx - the Vert.x instance
      config - the configuration
      Returns:
      the client
    • save

      public Maybe<String> 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:
      a future provided with the id if document didn't already have one
    • rxSave

      public 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:
      a future provided with the id if document didn't already have one
    • saveWithOptions

      public Maybe<String> 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:
      a future provided with the id if document didn't already have one
    • rxSaveWithOptions

      public 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:
      a future provided with the id if document didn't already have one
    • insert

      public Maybe<String> 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:
      a future provided with the id if document didn't already have one
    • rxInsert

      public 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:
      a future provided with the id if document didn't already have one
    • insertWithOptions

      public Maybe<String> 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:
      a future provided with the id if document didn't already have one
    • rxInsertWithOptions

      public 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:
      a future provided with the id if document didn't already have one
    • updateCollection

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxUpdateCollection

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • updateCollection

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxUpdateCollection

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • updateCollectionWithOptions

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxUpdateCollectionWithOptions

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • updateCollectionWithOptions

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxUpdateCollectionWithOptions

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • replaceDocuments

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxReplaceDocuments

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • replaceDocumentsWithOptions

      public Maybe<MongoClientUpdateResult> 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:
      a future notified with a MongoClientUpdateResult when complete
    • rxReplaceDocumentsWithOptions

      public 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:
      a future notified with a MongoClientUpdateResult when complete
    • bulkWrite

      public Maybe<MongoClientBulkWriteResult> 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:
      a future notified with a MongoClientBulkWriteResult when complete
    • rxBulkWrite

      public 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:
      a future notified with a MongoClientBulkWriteResult when complete
    • bulkWriteWithOptions

      public Maybe<MongoClientBulkWriteResult> 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:
      a future notified with a MongoClientBulkWriteResult when complete
    • rxBulkWriteWithOptions

      public 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:
      a future notified with a MongoClientBulkWriteResult when complete
    • find

      public Single<List<JsonObject>> find(String collection, JsonObject query)
      Find matching documents in the specified collection
      Parameters:
      collection - the collection
      query - query used to match documents
      Returns:
      a future provided with list of documents
    • rxFind

      public 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:
      a future provided with list of documents
    • 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 Single<List<JsonObject>> 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:
      a future provided with list of documents
    • rxFindWithOptions

      public 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:
      a future provided with list of documents
    • 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 Maybe<JsonObject> 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:
      a future provided with the document, if any
    • rxFindOne

      public 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:
      a future provided with the document, if any
    • findOneAndUpdate

      public Maybe<JsonObject> 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:
      a future provided with the document, if any
    • rxFindOneAndUpdate

      public 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:
      a future provided with the document, if any
    • findOneAndUpdateWithOptions

      public Maybe<JsonObject> 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:
      a future provided with the document, if any
    • rxFindOneAndUpdateWithOptions

      public 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:
      a future provided with the document, if any
    • findOneAndReplace

      public Maybe<JsonObject> 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:
      a future provided with the document, if any
    • rxFindOneAndReplace

      public 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:
      a future provided with the document, if any
    • findOneAndReplaceWithOptions

      public Maybe<JsonObject> 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:
      a future provided with the document, if any
    • rxFindOneAndReplaceWithOptions

      public 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:
      a future provided with the document, if any
    • findOneAndDelete

      public Maybe<JsonObject> 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:
      a future provided with the deleted document, if any
    • rxFindOneAndDelete

      public 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:
      a future provided with the deleted document, if any
    • findOneAndDeleteWithOptions

      public Maybe<JsonObject> 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:
      a future provided with the deleted document, if any
    • rxFindOneAndDeleteWithOptions

      public 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:
      a future provided with the deleted document, if any
    • count

      public Single<Long> count(String collection, JsonObject query)
      Count matching documents in a collection.
      Parameters:
      collection - the collection
      query - query used to match documents
      Returns:
      a future provided with the number of matching documents
    • rxCount

      public Single<Long> rxCount(String collection, JsonObject query)
      Count matching documents in a collection.
      Parameters:
      collection - the collection
      query - query used to match documents
      Returns:
      a future provided with the number of matching documents
    • countWithOptions

      public Single<Long> 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:
      a future provided with the number of matching documents
    • rxCountWithOptions

      public 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:
      a future provided with the number of matching documents
    • removeDocuments

      public Maybe<MongoClientDeleteResult> 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:
      a future notified with a MongoClientDeleteResult when complete
    • rxRemoveDocuments

      public 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:
      a future notified with a MongoClientDeleteResult when complete
    • removeDocumentsWithOptions

      public Maybe<MongoClientDeleteResult> 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:
      a future notified with a MongoClientDeleteResult when complete
    • rxRemoveDocumentsWithOptions

      public 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:
      a future notified with a MongoClientDeleteResult when complete
    • removeDocument

      public Maybe<MongoClientDeleteResult> 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:
      a future notified with a MongoClientDeleteResult when complete
    • rxRemoveDocument

      public 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:
      a future notified with a MongoClientDeleteResult when complete
    • removeDocumentWithOptions

      public Maybe<MongoClientDeleteResult> 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:
      a future notified with a MongoClientDeleteResult when complete
    • rxRemoveDocumentWithOptions

      public 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:
      a future notified with a MongoClientDeleteResult when complete
    • createCollection

      public Completable createCollection(String collectionName)
      Create a new collection
      Parameters:
      collectionName - the name of the collection
      Returns:
      a future notified once complete
    • rxCreateCollection

      public Completable rxCreateCollection(String collectionName)
      Create a new collection
      Parameters:
      collectionName - the name of the collection
      Returns:
      a future notified once complete
    • createCollectionWithOptions

      public Completable createCollectionWithOptions(String collectionName, CreateCollectionOptions collectionOptions)
      Create a new collection with options
      Parameters:
      collectionName - the name of the collection
      collectionOptions - options of the collection
      Returns:
      a future notified once complete
    • rxCreateCollectionWithOptions

      public 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:
      a future notified once complete
    • getCollections

      public Single<List<String>> getCollections()
      Get a list of all collections in the database.
      Returns:
      a future notified with a list of collections.
    • rxGetCollections

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

      public Completable dropCollection(String collection)
      Drop a collection
      Parameters:
      collection - the collection
      Returns:
      a future notified when complete
    • rxDropCollection

      public Completable rxDropCollection(String collection)
      Drop a collection
      Parameters:
      collection - the collection
      Returns:
      a future notified when complete
    • renameCollection

      public Completable renameCollection(String oldCollectionName, String newCollectionName)
      Rename a collection
      Parameters:
      oldCollectionName - the name of the collection
      newCollectionName - the new name of the collection
      Returns:
      a future notified when complete
    • rxRenameCollection

      public Completable rxRenameCollection(String oldCollectionName, String newCollectionName)
      Rename a collection
      Parameters:
      oldCollectionName - the name of the collection
      newCollectionName - the new name of the collection
      Returns:
      a future notified when complete
    • renameCollectionWithOptions

      public Completable renameCollectionWithOptions(String oldCollectionName, String newCollectionName, RenameCollectionOptions collectionOptions)
      Rename a collection
      Parameters:
      oldCollectionName - the name of the collection
      newCollectionName - the new name of the collection
      collectionOptions - options of the collection
      Returns:
      a future notified when complete
    • rxRenameCollectionWithOptions

      public Completable rxRenameCollectionWithOptions(String oldCollectionName, String newCollectionName, RenameCollectionOptions collectionOptions)
      Rename a collection
      Parameters:
      oldCollectionName - the name of the collection
      newCollectionName - the new name of the collection
      collectionOptions - options of the collection
      Returns:
      a future notified when complete
    • createIndex

      public Completable 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:
      a future notified when complete
    • rxCreateIndex

      public 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:
      a future notified when complete
    • createIndexWithOptions

      public Completable 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:
      a future notified when complete
    • rxCreateIndexWithOptions

      public 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:
      a future notified when complete
    • createIndexes

      public Completable 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:
      a future notified when complete
    • rxCreateIndexes

      public 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:
      a future notified when complete
    • listIndexes

      public Single<JsonArray> listIndexes(String collection)
      Get all the indexes in this collection.
      Parameters:
      collection - the collection
      Returns:
      a future notified when complete
    • rxListIndexes

      public Single<JsonArray> rxListIndexes(String collection)
      Get all the indexes in this collection.
      Parameters:
      collection - the collection
      Returns:
      a future notified when complete
    • dropIndex

      public Completable dropIndex(String collection, String indexName)
      Drops the index given its name.
      Parameters:
      collection - the collection
      indexName - the name of the index to remove
      Returns:
      a future notified when complete
    • rxDropIndex

      public 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:
      a future notified when complete
    • dropIndex

      public Completable dropIndex(String collection, JsonObject key)
      Drops the index given the keys used to create it.
      Parameters:
      collection - the collection
      key - the key(s) of the index to remove
      Returns:
      a future notified when complete
    • rxDropIndex

      public Completable rxDropIndex(String collection, JsonObject key)
      Drops the index given the keys used to create it.
      Parameters:
      collection - the collection
      key - the key(s) of the index to remove
      Returns:
      a future notified when complete
    • runCommand

      public Maybe<JsonObject> runCommand(String commandName, JsonObject command)
      Run an arbitrary MongoDB command.
      Parameters:
      commandName - the name of the command
      command - the command
      Returns:
      a future notified with the result.
    • rxRunCommand

      public Maybe<JsonObject> rxRunCommand(String commandName, JsonObject command)
      Run an arbitrary MongoDB command.
      Parameters:
      commandName - the name of the command
      command - the command
      Returns:
      a future notified with the result.
    • distinct

      public Single<JsonArray> 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:
      a future provided with array of values.
    • rxDistinct

      public 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:
      a future provided with array of values.
    • distinct

      public Single<JsonArray> 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:
      a future provided with array of values.
    • rxDistinct

      public 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:
      a future provided with array of values.
    • distinctWithQuery

      public Single<JsonArray> 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:
      a future provided with array of values.
    • rxDistinctWithQuery

      public 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:
      a future provided with array of values.
    • distinctWithQuery

      public Single<JsonArray> 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:
      a future provided with array of values.
    • rxDistinctWithQuery

      public 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:
      a future provided with array of values.
    • 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
    • aggregate

      public ReadStream<JsonObject> aggregate(String collection, JsonArray pipeline)
      Run aggregate MongoDB command with default AggregateOptions.
      Parameters:
      collection - the collection
      pipeline - aggregation pipeline to be executed
      Returns:
    • 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 Single<MongoGridFsClient> createDefaultGridFsBucketService()
      Creates a MongoGridFsClient used to interact with Mongo GridFS.
      Returns:
      a future notified with the MongoGridFsClient to interact with the bucket named bucketName
    • rxCreateDefaultGridFsBucketService

      public Single<MongoGridFsClient> rxCreateDefaultGridFsBucketService()
      Creates a MongoGridFsClient used to interact with Mongo GridFS.
      Returns:
      a future notified with the MongoGridFsClient to interact with the bucket named bucketName
    • createGridFsBucketService

      public Single<MongoGridFsClient> createGridFsBucketService(String bucketName)
      Creates a MongoGridFsClient used to interact with Mongo GridFS.
      Parameters:
      bucketName - the name of the GridFS bucket
      Returns:
      a future notified with the MongoGridFsClient to interact with the bucket named bucketName
    • rxCreateGridFsBucketService

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

      public Completable close()
      Close the client and release its resources
      Returns:
    • rxClose

      public 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:
    • newInstance

      public static MongoClient newInstance(MongoClient arg)