I think it's a best practice to embed replies to a specific message inside that message and I'm trying to implement it using mongoid. here is what I have
class Message
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Paranoia
field :subject
field :body
field :sender_deleted, :type => Boolean, :default => false
field :recipient_deleted, :type => Boolean, :default => false
field :read_at, :type => DateTime
referenced_in :sender, :class_name => "User", :inverse_of => :sender, :foreign_key => 'sender_id'
referenced_in :recipient, :class_name => "User", :inverse_of => :recipient, :foreign_key => 'recipient_id'
embeds_many :replies, :class_name => 'Message'
embedded_in :message, :inverse_of => :replies
here is the part where I try to define the message and its replies relation:
embeds_many :replies, :class_name => 'Message'
embedded_in :message, :inverse_of => :replies
it's not working for me and I don't know why, any idea how I can do such a thing?
Whether it is best practice or not is a highly debatable topic. For instance, you have to mind the object size limit (currently 4 MB, but will go up soon).
as for your question: I suggest that you change
to
And you will also have to specify both connections manually (that should not be a problem, as they are probably immutable anyway).