embeds_many – embedding many documents
This method sets up the parent embedded relation for a single embedded child. All embedded documents are saved inside the parent document. So, when you fetch the parent document, all the embedded documents are also part of it. When we use embeds_many
, the embedded documents are saved in an array inside the document. This is the most commonly used relation.
class Book include Mongoid::Document embeds_many :reviews end
As embedded documents can be polymorphic, the :as
option is supported along with the relation callbacks :before_add
, :after_add
, :before_remove
, and :after_remove
. will be discussed next.
:cascade_callbacks
As embedded documents are part of the parent, their callbacks are not automatically invoked when the parent is saved. We need to explicitly set this option if we want the embedded child document to process callbacks.
class Book include Mongoid::Document embeds_many :reviews, cascade_callbacks: true end
:store_as
The store_as
option...