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)