Merhabalar,
Bir proje için rails ve mongodb’yi (mongoid aracılığı ile) beraber kullanıyorum.
Proje sırasında bir hata ile karşılaştım ve sizlerle paylaşmak istedim.
Standart parent-child işlemlerinde mongoid herhangi bir problem oluşturmuyor. GÖnül rahatlığı ile kullanabilirsiniz. İster embeds_many / embedded_in, ister has_many / belongs_to ayrı ayrı sorunsuz çalışıyor.
Bu senaryomuz biraz garip;
“Post” modeli “embeded” olarak comment modelini barındırıyor. comment modeli ise user modeli ile has_many / belongs_to yapısı ile ilişkili. Bu ilişki yapısı ile Post nesnesi ile beraber tüm ilgili Comment‘leri User bilgileri ile erişebiliyoruz. Ayrıca User üzerinden yazdığı Comment‘lere de erişmeyi hedefliyorum / hedefliyordum :).
İşte bu durumda mongoid biraz problem yaşıyor.
class Post include Mongoid::Document include Mongoid::Timestamps embeds_many :comments end class Comment include Mongoid::Document include Mongoid::Timestamps embedded_in :post belongs_to :user # Causes mongoid invalid path error during nested child save end class User include Mongoid::Document include Mongoid::Timestamps has_many :comments # Causes mongoid invalid path error end
has_many / belongs_to ilişkisi yerine Comment üzerinde “user_id” bilgisini tutup manuel olarak işlemleri yaptığımızda problem yaşanmıyor.
İyi çalışmalar.