module Mongoid::Bulk::Import
Constants
- Result
- VERSION
Public Instance Methods
bulk_insert(attributes = nil, options = {}, &block)
click to toggle source
# File lib/mongoid/bulk/import.rb, line 10 def bulk_insert(attributes = nil, options = {}, &block) _creating do if attributes.is_a?(::Array) documents = attributes.map { |attrs| bulk_insert_obj(attrs, options, &block) } else documents = [bulk_insert_obj(attributes, options, &block)] end valid_documents, invalid_documents = documents.partition { |doc| doc.errors.none? } response = collection.insert_many(valid_documents.map(&:as_document)) unless valid_documents.blank? Result.new(invalid_documents, response&.inserted_count || 0, response&.inserted_ids || []) end end
bulk_insert_obj(attributes = nil, options = {}, &block)
click to toggle source
# File lib/mongoid/bulk/import.rb, line 23 def bulk_insert_obj(attributes = nil, options = {}, &block) doc = attributes.kind_of?(Mongoid::Document) ? attributes : new(attributes, &block) doc.valid? if (options[:validate].nil? ? true : options[:validate]) doc end