Masalahnya adalah MongoDB tidak memiliki cara untuk memetakan Category rekam ke Ad catatan. Yang ia tahu hanyalah sebuah Ad record memiliki category_id kolom jadi 'category.domain_id' akan selalu mengembalikan apa-apa. Notasi titik di dalam kueri hanya berfungsi untuk dokumen yang disematkan, bukan referensi (yang masih merupakan warga negara kelas dua di MongoDB).
Jadi untuk memecahkan masalah Anda, Anda memerlukan 2 pertanyaan:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)