Проблемът е, че MongoDB няма никакъв начин за картографиране на Category запишете в Ad запис. Всичко, което знае, е, че Ad записът има category_id поле така 'category.domain_id' винаги няма да върне нищо. Точковата нотация в заявките работи само за вградени документи, не и за препратки (които все още са второкласни граждани в MongoDB).
Така че, за да решите проблема си, ще ви трябват 2 заявки:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)