Seu problema é que o
has_many do Mongoid
não deixa nada no documento pai, portanto, não há consultas no documento pai que farão algo útil para você. No entanto, o belongs_to :user em sua Task adicionará um :user_id campo para as tasks coleção. Isso deixa você com coisas horríveis como esta:user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Claro, se você tivesse
embeds_many :tasks
em vez de has_many :tasks então você pode consultar o :tasks dentro dos users coleção como você deseja. OTOH, isso provavelmente quebraria outras coisas. Se você precisar manter as tarefas separadas (ou seja, não incorporadas), poderá configurar um contador em
User para acompanhar o número de tarefas e, em seguida, você pode dizer coisas como:User.where(:num_tasks.gt => 0).limit(10)