Class List Method List File List

# Class: VertxMongo::MongoClient

Inherits:
  Object
  - Object
  - VertxMongo::MongoClient
  show all
Defined in:
  /Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb

## Overview

A Vert.x service used to interact with MongoDB server instances.

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

## Direct Known Subclasses

MongoService

## Constant Summary

@@j_api_type =

      Object.new

## Class Method Summary (collapse)

- + (Boolean) accept?(obj)
- + (::VertxMongo::MongoClient) create_non_shared(vertx = nil, config = nil)
  Create a Mongo client which maintains its own data source.
- + (::VertxMongo::MongoClient) create_shared(vertx = nil, config = nil, dataSourceName = nil)
  Create a Mongo client which shares its data source with any other Mongo clients created with the same data source name.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)

## Instance Method Summary (collapse)

- - (void) close
  Close the client and release its resources.
- - (self) count(collection = nil, query = nil) { ... }
  Count matching documents in a collection.
- - (self) create_collection(collectionName = nil) { ... }
  Create a new collection.
- - (self) create_index(collection = nil, key = nil) { ... }
  Creates an index.
- - (self) create_index_with_options(collection = nil, key = nil, options = nil) { ... }
  Creates an index.
- - (self) distinct(collection = nil, fieldName = nil, resultClassname = nil) { ... }
  Gets the distinct values of the specified field name.
- - (self) distinct_batch(collection = nil, fieldName = nil, resultClassname = nil) { ... }
  Gets the distinct values of the specified field name.
- - (self) drop_collection(collection = nil) { ... }
  Drop a collection.
- - (self) drop_index(collection = nil, indexName = nil) { ... }
  Drops the index given its name.
- - (self) find(collection = nil, query = nil) { ... }
  Find matching documents in the specified collection.
- - (self) find_batch(collection = nil, query = nil) { ... }
  Find matching documents in the specified collection.
- - (self) find_batch_with_options(collection = nil, query = nil, options = nil) { ... }
  Find matching documents in the specified collection, specifying options.
- - (self) find_one(collection = nil, query = nil, fields = nil) { ... }
  Find a single matching document in the specified collection This operation might change _id field of query parameter.
- - (self) find_one_and_delete(collection = nil, query = nil) { ... }
  Find a single matching document in the specified collection and delete it.
- - (self) find_one_and_delete_with_options(collection = nil, query = nil, findOptions = nil) { ... }
  Find a single matching document in the specified collection and delete it.
- - (self) find_one_and_replace(collection = nil, query = nil, replace = nil) { ... }
  Find a single matching document in the specified collection and replace it.
- - (self) find_one_and_replace_with_options(collection = nil, query = nil, replace = nil, findOptions = nil, updateOptions = nil) { ... }
  Find a single matching document in the specified collection and replace it.
- - (self) find_one_and_update(collection = nil, query = nil, update = nil) { ... }
  Find a single matching document in the specified collection and update it.
- - (self) find_one_and_update_with_options(collection = nil, query = nil, update = nil, findOptions = nil, updateOptions = nil) { ... }
  Find a single matching document in the specified collection and update it.
- - (self) find_with_options(collection = nil, query = nil, options = nil) { ... }
  Find matching documents in the specified collection, specifying options.
- - (self) get_collections { ... }
  Get a list of all collections in the database.
- - (self) insert(collection = nil, document = nil) { ... }
  Insert a document in the specified collection This operation might change _id field of document parameter.
- - (self) insert_with_options(collection = nil, document = nil, writeOption = nil) { ... }
  Insert a document in the specified collection with the specified write option This operation might change _id field of document parameter.
- - (self) list_indexes(collection = nil) { ... }
  Get all the indexes in this collection.
- - (self) remove(collection = nil, query = nil) { ... }
  Remove matching documents from a collection.
- - (self) remove_document(collection = nil, query = nil) { ... }
  Remove a single matching document from a collection and return the handler with MongoClientDeleteResult result.
- - (self) remove_document_with_options(collection = nil, query = nil, writeOption = nil) { ... }
  Remove a single matching document from a collection with the specified write option and return the handler with MongoClientDeleteResult result.
- - (self) remove_documents(collection = nil, query = nil) { ... }
  Remove matching documents from a collection and return the handler with MongoClientDeleteResult result.
- - (self) remove_documents_with_options(collection = nil, query = nil, writeOption = nil) { ... }
  Remove matching documents from a collection with the specified write option and return the handler with MongoClientDeleteResult result.
- - (self) remove_one(collection = nil, query = nil) { ... }
  Remove a single matching document from a collection.
- - (self) remove_one_with_options(collection = nil, query = nil, writeOption = nil) { ... }
  Remove a single matching document from a collection with the specified write option.
- - (self) remove_with_options(collection = nil, query = nil, writeOption = nil) { ... }
  Remove matching documents from a collection with the specified write option.
- - (self) replace(collection = nil, query = nil, replace = nil) { ... }
  Replace matching documents in the specified collection This operation might change _id field of replace parameter.
- - (self) replace_documents(collection = nil, query = nil, replace = nil) { ... }
  Replace matching documents in the specified collection and return the handler with MongoClientUpdateResult result.
- - (self) replace_documents_with_options(collection = nil, query = nil, replace = nil, options = nil) { ... }
  Replace matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result.
- - (self) replace_with_options(collection = nil, query = nil, replace = nil, options = nil) { ... }
  Replace matching documents in the specified collection, specifying options This operation might change _id field of replace parameter.
- - (self) run_command(commandName = nil, command = nil) { ... }
  Run an arbitrary MongoDB command.
- - (self) save(collection = nil, document = nil) { ... }
  Save a document in the specified collection This operation might change _id field of document parameter.
- - (self) save_with_options(collection = nil, document = nil, writeOption = nil) { ... }
  Save a document in the specified collection with the specified write option This operation might change _id field of document parameter.
- - (self) update(collection = nil, query = nil, update = nil) { ... }
  Update matching documents in the specified collection.
- - (self) update_collection(collection = nil, query = nil, update = nil) { ... }
  Update matching documents in the specified collection and return the handler with MongoClientUpdateResult result.
- - (self) update_collection_with_options(collection = nil, query = nil, update = nil, options = nil) { ... }
  Update matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result.
- - (self) update_with_options(collection = nil, query = nil, update = nil, options = nil) { ... }
  Update matching documents in the specified collection, specifying options.

## Class Method Details

### + (`Boolean`) accept?(obj)

Returns:

- (`Boolean`)

    20
    21
    22
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 20

    def @@j_api_type.accept?(obj)
      obj.class == MongoClient
    end

### + (`::VertxMongo::MongoClient`) create_non_shared(vertx = nil, config = nil)

Create a Mongo client which maintains its own data source.

Parameters:

- vertx (`::Vertx::Vertx`) (defaults to: `nil`) —
  the Vert.x instance
- config (`Hash{String => Object}`) (defaults to: `nil`) —
  the configuration

Returns:

- (`::VertxMongo::MongoClient`) —
  the client

Raises:

- (`ArgumentError`)

    39
    40
    41
    42
    43
    44
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 39

    def self.create_non_shared(vertx=nil,config=nil)
      if vertx.class.method_defined?(:j_del) && config.class == Hash && !block_given?
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtMongo::MongoClient.java_method(:createNonShared, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(vertx.j_del,::Vertx::Util::Utils.to_json_object(config)),::VertxMongo::MongoClient)
      end
      raise ArgumentError, "Invalid arguments when calling create_non_shared(#{vertx},#{config})"
    end

### + (`::VertxMongo::MongoClient`) create_shared(vertx = nil, config = nil, dataSourceName = nil)

Create a Mongo client which shares its data source with any other Mongo clients created with the same data source name

Parameters:

- vertx (`::Vertx::Vertx`) (defaults to: `nil`) —
  the Vert.x instance
- config (`Hash{String => Object}`) (defaults to: `nil`) —
  the configuration
- dataSourceName (`String`) (defaults to: `nil`) —
  the data source name

Returns:

- (`::VertxMongo::MongoClient`) —
  the client

Raises:

- (`ArgumentError`)

    51
    52
    53
    54
    55
    56
    57
    58
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 51

    def self.create_shared(vertx=nil,config=nil,dataSourceName=nil)
      if vertx.class.method_defined?(:j_del) && config.class == Hash && !block_given? && dataSourceName == nil
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtMongo::MongoClient.java_method(:createShared, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(vertx.j_del,::Vertx::Util::Utils.to_json_object(config)),::VertxMongo::MongoClient)
      elsif vertx.class.method_defined?(:j_del) && config.class == Hash && dataSourceName.class == String && !block_given?
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtMongo::MongoClient.java_method(:createShared, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::java.lang.String.java_class]).call(vertx.j_del,::Vertx::Util::Utils.to_json_object(config),dataSourceName),::VertxMongo::MongoClient)
      end
      raise ArgumentError, "Invalid arguments when calling create_shared(#{vertx},#{config},#{dataSourceName})"
    end

### + (`Object`) j_api_type

    29
    30
    31
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 29

    def self.j_api_type
      @@j_api_type
    end

### + (`Object`) j_class

    32
    33
    34
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 32

    def self.j_class
      Java::IoVertxExtMongo::MongoClient.java_class
    end

### + (`Object`) unwrap(obj)

    26
    27
    28
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 26

    def @@j_api_type.unwrap(obj)
      obj.j_del
    end

### + (`Object`) wrap(obj)

    23
    24
    25
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 23

    def @@j_api_type.wrap(obj)
      MongoClient.new(obj)
    end

## Instance Method Details

### - (`void`) close

This method returns an undefined value.

Close the client and release its resources

Raises:

- (`ArgumentError`)

    624
    625
    626
    627
    628
    629
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 624

    def close
      if !block_given?
        return @j_del.java_method(:close, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling close()"
    end

### - (`self`) count(collection = nil, query = nil) { ... }

Count matching documents in a collection.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents

Yields:

- will be provided with the number of matching documents

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    394
    395
    396
    397
    398
    399
    400
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 394

    def count(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:count, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling count(#{collection},#{query})"
    end

### - (`self`) create_collection(collectionName = nil) { ... }

Create a new collection

Parameters:

- collectionName (`String`) (defaults to: `nil`) —
  the name of the collection

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    505
    506
    507
    508
    509
    510
    511
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 505

    def create_collection(collectionName=nil)
      if collectionName.class == String && block_given?
        @j_del.java_method(:createCollection, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collectionName,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling create_collection(#{collectionName})"
    end

### - (`self`) create_index(collection = nil, key = nil) { ... }

Creates an index.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- key (`Hash{String => Object}`) (defaults to: `nil`) —
  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.

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    538
    539
    540
    541
    542
    543
    544
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 538

    def create_index(collection=nil,key=nil)
      if collection.class == String && key.class == Hash && block_given?
        @j_del.java_method(:createIndex, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(key),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling create_index(#{collection},#{key})"
    end

### - (`self`) create_index_with_options(collection = nil, key = nil, options = nil) { ... }

Creates an index.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- key (`Hash{String => Object}`) (defaults to: `nil`) —
  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 (`Hash`) (defaults to: `nil`) —
  the options for the index

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    551
    552
    553
    554
    555
    556
    557
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 551

    def create_index_with_options(collection=nil,key=nil,options=nil)
      if collection.class == String && key.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:createIndexWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::IndexOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(key),Java::IoVertxExtMongo::IndexOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling create_index_with_options(#{collection},#{key},#{options})"
    end

### - (`self`) distinct(collection = nil, fieldName = nil, resultClassname = nil) { ... }

Gets the distinct values of the specified field name. Return a JsonArray containing distinct values (eg: [ 1 , 89 ])

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- fieldName (`String`) (defaults to: `nil`) —
  the field name
- resultClassname (`String`) (defaults to: `nil`)

Yields:

- will be provided with array of values.

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    600
    601
    602
    603
    604
    605
    606
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 600

    def distinct(collection=nil,fieldName=nil,resultClassname=nil)
      if collection.class == String && fieldName.class == String && resultClassname.class == String && block_given?
        @j_del.java_method(:distinct, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,fieldName,resultClassname,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling distinct(#{collection},#{fieldName},#{resultClassname})"
    end

### - (`self`) distinct_batch(collection = nil, fieldName = nil, resultClassname = nil) { ... }

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: 1).

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- fieldName (`String`) (defaults to: `nil`) —
  the field name
- resultClassname (`String`) (defaults to: `nil`)

Yields:

- will be provided with each found value

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    615
    616
    617
    618
    619
    620
    621
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 615

    def distinct_batch(collection=nil,fieldName=nil,resultClassname=nil)
      if collection.class == String && fieldName.class == String && resultClassname.class == String && block_given?
        @j_del.java_method(:distinctBatch, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,fieldName,resultClassname,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling distinct_batch(#{collection},#{fieldName},#{resultClassname})"
    end

### - (`self`) drop_collection(collection = nil) { ... }

Drop a collection

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    526
    527
    528
    529
    530
    531
    532
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 526

    def drop_collection(collection=nil)
      if collection.class == String && block_given?
        @j_del.java_method(:dropCollection, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling drop_collection(#{collection})"
    end

### - (`self`) drop_index(collection = nil, indexName = nil) { ... }

Drops the index given its name.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- indexName (`String`) (defaults to: `nil`) —
  the name of the index to remove

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    574
    575
    576
    577
    578
    579
    580
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 574

    def drop_index(collection=nil,indexName=nil)
      if collection.class == String && indexName.class == String && block_given?
        @j_del.java_method(:dropIndex, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,indexName,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling drop_index(#{collection},#{indexName})"
    end

### - (`self`) find(collection = nil, query = nil) { ... }

Find matching documents in the specified collection

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents

Yields:

- will be provided with list of documents

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    234
    235
    236
    237
    238
    239
    240
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 234

    def find(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:find, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result.to_a.map { |elt| elt != nil ? JSON.parse(elt.encode) : nil } : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find(#{collection},#{query})"
    end

### - (`self`) find_batch(collection = nil, query = nil) { ... }

Find matching documents in the specified collection. This method use batchCursor for returning each found document.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents

Yields:

- will be provided with each found document

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    247
    248
    249
    250
    251
    252
    253
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 247

    def find_batch(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:findBatch, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_batch(#{collection},#{query})"
    end

### - (`self`) find_batch_with_options(collection = nil, query = nil, options = nil) { ... }

Find matching documents in the specified collection, specifying options. This method use batchCursor for returning each found document.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents
- options (`Hash`) (defaults to: `nil`) —
  options to configure the find

Yields:

- will be provided with each found document

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    274
    275
    276
    277
    278
    279
    280
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 274

    def find_batch_with_options(collection=nil,query=nil,options=nil)
      if collection.class == String && query.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:findBatchWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::FindOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::FindOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_batch_with_options(#{collection},#{query},#{options})"
    end

### - (`self`) find_one(collection = nil, query = nil, fields = nil) { ... }

Find a single matching document in the specified collection

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- fields (`Hash{String => Object}`) (defaults to: `nil`) —
  the fields

Yields:

- will be provided with the document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    289
    290
    291
    292
    293
    294
    295
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 289

    def find_one(collection=nil,query=nil,fields=nil)
      if collection.class == String && query.class == Hash && fields.class == Hash && block_given?
        @j_del.java_method(:findOne, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(fields),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one(#{collection},#{query},#{fields})"
    end

### - (`self`) find_one_and_delete(collection = nil, query = nil) { ... }

Find a single matching document in the specified collection and delete it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document

Yields:

- will be provided with the deleted document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    367
    368
    369
    370
    371
    372
    373
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 367

    def find_one_and_delete(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:findOneAndDelete, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_delete(#{collection},#{query})"
    end

### - (`self`) find_one_and_delete_with_options(collection = nil, query = nil, findOptions = nil) { ... }

Find a single matching document in the specified collection and delete it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- findOptions (`Hash`) (defaults to: `nil`) —
  options to configure the find

Yields:

- will be provided with the deleted document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    382
    383
    384
    385
    386
    387
    388
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 382

    def find_one_and_delete_with_options(collection=nil,query=nil,findOptions=nil)
      if collection.class == String && query.class == Hash && findOptions.class == Hash && block_given?
        @j_del.java_method(:findOneAndDeleteWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::FindOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::FindOptions.new(::Vertx::Util::Utils.to_json_object(findOptions)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_delete_with_options(#{collection},#{query},#{findOptions})"
    end

### - (`self`) find_one_and_replace(collection = nil, query = nil, replace = nil) { ... }

Find a single matching document in the specified collection and replace it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  the replacement document

Yields:

- will be provided with the document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    336
    337
    338
    339
    340
    341
    342
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 336

    def find_one_and_replace(collection=nil,query=nil,replace=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && block_given?
        @j_del.java_method(:findOneAndReplace, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_replace(#{collection},#{query},#{replace})"
    end

### - (`self`) find_one_and_replace_with_options(collection = nil, query = nil, replace = nil, findOptions = nil, updateOptions = nil) { ... }

Find a single matching document in the specified collection and replace it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  the replacement document
- findOptions (`Hash`) (defaults to: `nil`) —
  options to configure the find
- updateOptions (`Hash`) (defaults to: `nil`) —
  options to configure the update

Yields:

- will be provided with the document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    353
    354
    355
    356
    357
    358
    359
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 353

    def find_one_and_replace_with_options(collection=nil,query=nil,replace=nil,findOptions=nil,updateOptions=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && findOptions.class == Hash && updateOptions.class == Hash && block_given?
        @j_del.java_method(:findOneAndReplaceWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::FindOptions.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),Java::IoVertxExtMongo::FindOptions.new(::Vertx::Util::Utils.to_json_object(findOptions)),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(updateOptions)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_replace_with_options(#{collection},#{query},#{replace},#{findOptions},#{updateOptions})"
    end

### - (`self`) find_one_and_update(collection = nil, query = nil, update = nil) { ... }

Find a single matching document in the specified collection and update it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated

Yields:

- will be provided with the document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    304
    305
    306
    307
    308
    309
    310
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 304

    def find_one_and_update(collection=nil,query=nil,update=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && block_given?
        @j_del.java_method(:findOneAndUpdate, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_update(#{collection},#{query},#{update})"
    end

### - (`self`) find_one_and_update_with_options(collection = nil, query = nil, update = nil, findOptions = nil, updateOptions = nil) { ... }

Find a single matching document in the specified collection and update it.

This operation might change _id field of query parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  the query used to match the document
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated
- findOptions (`Hash`) (defaults to: `nil`) —
  options to configure the find
- updateOptions (`Hash`) (defaults to: `nil`) —
  options to configure the update

Yields:

- will be provided with the document, if any

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    321
    322
    323
    324
    325
    326
    327
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 321

    def find_one_and_update_with_options(collection=nil,query=nil,update=nil,findOptions=nil,updateOptions=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && findOptions.class == Hash && updateOptions.class == Hash && block_given?
        @j_del.java_method(:findOneAndUpdateWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::FindOptions.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),Java::IoVertxExtMongo::FindOptions.new(::Vertx::Util::Utils.to_json_object(findOptions)),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(updateOptions)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_one_and_update_with_options(#{collection},#{query},#{update},#{findOptions},#{updateOptions})"
    end

### - (`self`) find_with_options(collection = nil, query = nil, options = nil) { ... }

Find matching documents in the specified collection, specifying options

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents
- options (`Hash`) (defaults to: `nil`) —
  options to configure the find

Yields:

- will be provided with list of documents

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    260
    261
    262
    263
    264
    265
    266
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 260

    def find_with_options(collection=nil,query=nil,options=nil)
      if collection.class == String && query.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:findWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::FindOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::FindOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result.to_a.map { |elt| elt != nil ? JSON.parse(elt.encode) : nil } : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling find_with_options(#{collection},#{query},#{options})"
    end

### - (`self`) get_collections { ... }

Get a list of all collections in the database.

Yields:

- will be called with a list of collections.

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    515
    516
    517
    518
    519
    520
    521
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 515

    def get_collections
      if block_given?
        @j_del.java_method(:getCollections, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result.to_a.map { |elt| elt } : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling get_collections()"
    end

### - (`self`) insert(collection = nil, document = nil) { ... }

Insert a document in the specified collection

This operation might change _id field of document parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- document (`Hash{String => Object}`) (defaults to: `nil`) —
  the document

Yields:

- result handler will be provided with the id if document didn't already have one

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    95
    96
    97
    98
    99
    100
    101
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 95

    def insert(collection=nil,document=nil)
      if collection.class == String && document.class == Hash && block_given?
        @j_del.java_method(:insert, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(document),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling insert(#{collection},#{document})"
    end

### - (`self`) insert_with_options(collection = nil, document = nil, writeOption = nil) { ... }

Insert a document in the specified collection with the specified write option

This operation might change _id field of document parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- document (`Hash{String => Object}`) (defaults to: `nil`) —
  the document
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- result handler will be provided with the id if document didn't already have one

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    110
    111
    112
    113
    114
    115
    116
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 110

    def insert_with_options(collection=nil,document=nil,writeOption=nil)
      if collection.class == String && document.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:insertWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(document),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling insert_with_options(#{collection},#{document},#{writeOption})"
    end

### - (`self`) list_indexes(collection = nil) { ... }

Get all the indexes in this collection.

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    562
    563
    564
    565
    566
    567
    568
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 562

    def list_indexes(collection=nil)
      if collection.class == String && block_given?
        @j_del.java_method(:listIndexes, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling list_indexes(#{collection})"
    end

### - (`self`) remove(collection = nil, query = nil) { ... }

Remove matching documents from a collection

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    406
    407
    408
    409
    410
    411
    412
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 406

    def remove(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:remove, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove(#{collection},#{query})"
    end

### - (`self`) remove_document(collection = nil, query = nil) { ... }

Remove a single matching document from a collection and return the handler with MongoClientDeleteResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match document

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    468
    469
    470
    471
    472
    473
    474
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 468

    def remove_document(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:removeDocument, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_document(#{collection},#{query})"
    end

### - (`self`) remove_document_with_options(collection = nil, query = nil, writeOption = nil) { ... }

Remove a single matching document from a collection with the specified write option and return the handler with MongoClientDeleteResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match document
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    494
    495
    496
    497
    498
    499
    500
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 494

    def remove_document_with_options(collection=nil,query=nil,writeOption=nil)
      if collection.class == String && query.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:removeDocumentWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_document_with_options(#{collection},#{query},#{writeOption})"
    end

### - (`self`) remove_documents(collection = nil, query = nil) { ... }

Remove matching documents from a collection and return the handler with MongoClientDeleteResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    418
    419
    420
    421
    422
    423
    424
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 418

    def remove_documents(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:removeDocuments, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_documents(#{collection},#{query})"
    end

### - (`self`) remove_documents_with_options(collection = nil, query = nil, writeOption = nil) { ... }

Remove matching documents from a collection with the specified write option and return the handler with MongoClientDeleteResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    444
    445
    446
    447
    448
    449
    450
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 444

    def remove_documents_with_options(collection=nil,query=nil,writeOption=nil)
      if collection.class == String && query.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:removeDocumentsWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_documents_with_options(#{collection},#{query},#{writeOption})"
    end

### - (`self`) remove_one(collection = nil, query = nil) { ... }

Remove a single matching document from a collection

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match document

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    456
    457
    458
    459
    460
    461
    462
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 456

    def remove_one(collection=nil,query=nil)
      if collection.class == String && query.class == Hash && block_given?
        @j_del.java_method(:removeOne, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_one(#{collection},#{query})"
    end

### - (`self`) remove_one_with_options(collection = nil, query = nil, writeOption = nil) { ... }

Remove a single matching document from a collection with the specified write option

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match document
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    481
    482
    483
    484
    485
    486
    487
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 481

    def remove_one_with_options(collection=nil,query=nil,writeOption=nil)
      if collection.class == String && query.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:removeOneWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_one_with_options(#{collection},#{query},#{writeOption})"
    end

### - (`self`) remove_with_options(collection = nil, query = nil, writeOption = nil) { ... }

Remove matching documents from a collection with the specified write option

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match documents
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    431
    432
    433
    434
    435
    436
    437
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 431

    def remove_with_options(collection=nil,query=nil,writeOption=nil)
      if collection.class == String && query.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:removeWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling remove_with_options(#{collection},#{query},#{writeOption})"
    end

### - (`self`) replace(collection = nil, query = nil, replace = nil) { ... }

Replace matching documents in the specified collection

This operation might change _id field of replace parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  all matching documents will be replaced with this

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    179
    180
    181
    182
    183
    184
    185
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 179

    def replace(collection=nil,query=nil,replace=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && block_given?
        @j_del.java_method(:replace, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling replace(#{collection},#{query},#{replace})"
    end

### - (`self`) replace_documents(collection = nil, query = nil, replace = nil) { ... }

Replace matching documents in the specified collection and return the handler with MongoClientUpdateResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  all matching documents will be replaced with this

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    192
    193
    194
    195
    196
    197
    198
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 192

    def replace_documents(collection=nil,query=nil,replace=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && block_given?
        @j_del.java_method(:replaceDocuments, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling replace_documents(#{collection},#{query},#{replace})"
    end

### - (`self`) replace_documents_with_options(collection = nil, query = nil, replace = nil, options = nil) { ... }

Replace matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  all matching documents will be replaced with this
- options (`Hash`) (defaults to: `nil`) —
  options to configure the replace

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    222
    223
    224
    225
    226
    227
    228
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 222

    def replace_documents_with_options(collection=nil,query=nil,replace=nil,options=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:replaceDocumentsWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling replace_documents_with_options(#{collection},#{query},#{replace},#{options})"
    end

### - (`self`) replace_with_options(collection = nil, query = nil, replace = nil, options = nil) { ... }

Replace matching documents in the specified collection, specifying options

This operation might change _id field of replace parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- replace (`Hash{String => Object}`) (defaults to: `nil`) —
  all matching documents will be replaced with this
- options (`Hash`) (defaults to: `nil`) —
  options to configure the replace

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    208
    209
    210
    211
    212
    213
    214
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 208

    def replace_with_options(collection=nil,query=nil,replace=nil,options=nil)
      if collection.class == String && query.class == Hash && replace.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:replaceWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(replace),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling replace_with_options(#{collection},#{query},#{replace},#{options})"
    end

### - (`self`) run_command(commandName = nil, command = nil) { ... }

Run an arbitrary MongoDB command.

Parameters:

- commandName (`String`) (defaults to: `nil`) —
  the name of the command
- command (`Hash{String => Object}`) (defaults to: `nil`) —
  the command

Yields:

- will be called with the result.

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    586
    587
    588
    589
    590
    591
    592
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 586

    def run_command(commandName=nil,command=nil)
      if commandName.class == String && command.class == Hash && block_given?
        @j_del.java_method(:runCommand, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(commandName,::Vertx::Util::Utils.to_json_object(command),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling run_command(#{commandName},#{command})"
    end

### - (`self`) save(collection = nil, document = nil) { ... }

Save a document in the specified collection

This operation might change _id field of document parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- document (`Hash{String => Object}`) (defaults to: `nil`) —
  the document

Yields:

- result handler will be provided with the id if document didn't already have one

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    66
    67
    68
    69
    70
    71
    72
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 66

    def save(collection=nil,document=nil)
      if collection.class == String && document.class == Hash && block_given?
        @j_del.java_method(:save, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(document),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling save(#{collection},#{document})"
    end

### - (`self`) save_with_options(collection = nil, document = nil, writeOption = nil) { ... }

Save a document in the specified collection with the specified write option

This operation might change _id field of document parameter

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- document (`Hash{String => Object}`) (defaults to: `nil`) —
  the document
- writeOption (`:ACKNOWLEDGED`, `:UNACKNOWLEDGED`, `:FSYNCED`, `:JOURNALED`, `:REPLICA_ACKNOWLEDGED`, `:MAJORITY`) (defaults to: `nil`) —
  the write option to use

Yields:

- result handler will be provided with the id if document didn't already have one

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    81
    82
    83
    84
    85
    86
    87
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 81

    def save_with_options(collection=nil,document=nil,writeOption=nil)
      if collection.class == String && document.class == Hash && writeOption.class == Symbol && block_given?
        @j_del.java_method(:saveWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::WriteOption.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(document),Java::IoVertxExtMongo::WriteOption.valueOf(writeOption.to_s),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling save_with_options(#{collection},#{document},#{writeOption})"
    end

### - (`self`) update(collection = nil, query = nil, update = nil) { ... }

Update matching documents in the specified collection

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    123
    124
    125
    126
    127
    128
    129
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 123

    def update(collection=nil,query=nil,update=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && block_given?
        @j_del.java_method(:update, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling update(#{collection},#{query},#{update})"
    end

### - (`self`) update_collection(collection = nil, query = nil, update = nil) { ... }

Update matching documents in the specified collection and return the handler with MongoClientUpdateResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    136
    137
    138
    139
    140
    141
    142
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 136

    def update_collection(collection=nil,query=nil,update=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && block_given?
        @j_del.java_method(:updateCollection, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling update_collection(#{collection},#{query},#{update})"
    end

### - (`self`) update_collection_with_options(collection = nil, query = nil, update = nil, options = nil) { ... }

Update matching documents in the specified collection, specifying options and return the handler with MongoClientUpdateResult result

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated
- options (`Hash`) (defaults to: `nil`) —
  options to configure the update

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    164
    165
    166
    167
    168
    169
    170
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 164

    def update_collection_with_options(collection=nil,query=nil,update=nil,options=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:updateCollectionWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.toJson.encode) : nil : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling update_collection_with_options(#{collection},#{query},#{update},#{options})"
    end

### - (`self`) update_with_options(collection = nil, query = nil, update = nil, options = nil) { ... }

Update matching documents in the specified collection, specifying options

Parameters:

- collection (`String`) (defaults to: `nil`) —
  the collection
- query (`Hash{String => Object}`) (defaults to: `nil`) —
  query used to match the documents
- update (`Hash{String => Object}`) (defaults to: `nil`) —
  used to describe how the documents will be updated
- options (`Hash`) (defaults to: `nil`) —
  options to configure the update

Yields:

- will be called when complete

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    150
    151
    152
    153
    154
    155
    156
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-mongo/mongo_client.rb', line 150

    def update_with_options(collection=nil,query=nil,update=nil,options=nil)
      if collection.class == String && query.class == Hash && update.class == Hash && options.class == Hash && block_given?
        @j_del.java_method(:updateWithOptions, [Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxExtMongo::UpdateOptions.java_class,Java::IoVertxCore::Handler.java_class]).call(collection,::Vertx::Util::Utils.to_json_object(query),::Vertx::Util::Utils.to_json_object(update),Java::IoVertxExtMongo::UpdateOptions.new(::Vertx::Util::Utils.to_json_object(options)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling update_with_options(#{collection},#{query},#{update},#{options})"
    end