Masalah Anda adalah has_many dari Mongoid
tidak meninggalkan apa pun di dokumen induk sehingga tidak ada pertanyaan pada dokumen induk yang akan melakukan sesuatu yang berguna bagi Anda. Namun, belongs_to :user di Task . Anda akan menambahkan :user_id bidang ke tasks koleksi. Itu membuat Anda mengalami hal-hal mengerikan seperti ini:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Tentu saja, jika Anda memiliki embeds_many :tasks
bukannya has_many :tasks maka Anda dapat menanyakan :tasks di dalam users koleksi yang Anda inginkan. OTOH, ini mungkin akan merusak hal lain.
Jika Anda perlu memisahkan tugas (yaitu tidak disematkan) maka Anda dapat menyiapkan penghitung di User untuk melacak jumlah tugas dan kemudian Anda dapat mengatakan hal-hal seperti:
User.where(:num_tasks.gt => 0).limit(10)