Tu problema es que el has_many
de Mongoid
no deja nada en el documento principal, por lo que no hay consultas en el documento principal que le resulten útiles. Sin embargo, belongs_to :user
en tu Task
agregará un :user_id
campo a las tasks
recopilación. Eso te deja con cosas horribles como esta:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Por supuesto, si tuviera embeds_many :tasks
en lugar de has_many :tasks
entonces podría consultar :tasks
dentro de los users
colección como quieras. OTOH, esto probablemente rompería otras cosas.
Si necesita mantener las tareas separadas (es decir, no incrustadas), puede configurar un contador en User
para realizar un seguimiento de la cantidad de tareas y luego podría decir cosas como:
User.where(:num_tasks.gt => 0).limit(10)