Class: Mongo::Protocol::Insert
- Defined in:
- lib/mongo/protocol/insert.rb
Overview
MongoDB Wire protocol Insert message.
This is a client request message that is sent to the server in order to insert documents within a namespace.
The operation only has one flag :continue_on_error
which the user can use to instruct the database server to continue processing a bulk insertion if one happens to fail (e.g. due to duplicate IDs). This makes builk insert behave similarly to a seires of single inserts, except lastError will be set if any insert fails, not just the last one.
If multiple errors occur, only the most recent will be reported by the getLastError mechanism.
Defined Under Namespace
Classes: Upconverter
Constant Summary
Constants inherited from Message
Message::BATCH_SIZE, Message::COLLECTION, Message::LIMIT, Message::MAX_MESSAGE_SIZE, Message::ORDERED, Message::Q
Instance Attribute Summary
Attributes inherited from Message
Instance Method Summary collapse
-
#initialize(database, collection, documents, options = {}) ⇒ Insert
constructor
Creates a new Insert message.
-
#payload ⇒ Hash
Return the event payload for monitoring.
Methods inherited from Message
#==, deserialize, #hash, #replyable?, #serialize, #set_request_id
Constructor Details
#initialize(database, collection, documents, options = {}) ⇒ Insert
Creates a new Insert message
51 52 53 54 55 56 57 |
# File 'lib/mongo/protocol/insert.rb', line 51 def initialize(database, collection, documents, = {}) @database = database @namespace = "#{database}.#{collection}" @documents = documents @flags = [:flags] || [] @upconverter = Upconverter.new(collection, documents, ) end |
Instance Method Details
#payload ⇒ Hash
Return the event payload for monitoring.
67 68 69 70 71 72 73 74 |
# File 'lib/mongo/protocol/insert.rb', line 67 def payload { command_name: 'insert', database_name: @database, command: upconverter.command, request_id: request_id } end |