Module: Mongoid::Reloading

Included in:
Components
Defined in:
lib/mongoid/reloading.rb

Overview

This module handles reloading behaviour of documents.

Instance Method Summary collapse

Instance Method Details

#reloadDocument

Reloads the Document attributes from the database. If the document has not been saved then an error will get raised if the configuration option was set. This can reload root documents or embedded documents.

Examples:

Reload the document.

person.reload

Returns:

  • (Document)

    The document, reloaded.

Raises:

Since:

  • 1.0.0



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/mongoid/reloading.rb', line 18

def reload
  _reload.tap do |reloaded|
    if Mongoid.raise_not_found_error && reloaded.empty?
      raise Errors::DocumentNotFound.new(self.class, id)
    end
    @attributes = reloaded
  end
  tap do |doc|
    doc.changed_attributes.clear
    doc.apply_defaults
    doc.reload_relations
    doc.run_callbacks(:initialize)
  end
end