Problém je v tom, že MongoDB nemá žádný způsob mapování Category
záznam do Ad
záznam. Ví jen, že Ad
záznam má category_id
tak 'category.domain_id'
vždy nic nevrátí. Tečkový zápis uvnitř dotazů funguje pouze pro vložené dokumenty, nikoli pro odkazy (které jsou v MongoDB stále občany druhé kategorie).
Takže k vyřešení vašeho problému budete potřebovat 2 dotazy:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)