Das Problem ist, dass MongoDB keine Möglichkeit hat, eine Category
zuzuordnen in eine Ad
aufnehmen Aufzeichnung. Alles, was es weiß, ist, dass eine Ad
Datensatz hat eine category_id
Feld also 'category.domain_id'
wird immer nichts zurückgeben. Die Punktnotation innerhalb von Abfragen funktioniert nur für eingebettete Dokumente, nicht für Referenzen (die in MongoDB immer noch Bürger zweiter Klasse sind).
Um Ihr Problem zu lösen, benötigen Sie also 2 Abfragen:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)