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)