Votre problème est que has_many de Mongoid
ne laisse rien dans le document parent, il n'y a donc aucune requête sur le document parent qui vous sera utile. Cependant, le belongs_to :user dans votre Task ajoutera un :user_id champ vers les tasks le recueil. Cela vous laisse avec des choses horribles comme ceci :
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Bien sûr, si vous aviez embeds_many :tasks
au lieu de has_many :tasks alors vous pouvez interroger le :tasks à l'intérieur des users collecte comme vous le souhaitez. OTOH, cela casserait probablement d'autres choses.
Si vous avez besoin de garder les tâches séparées (c'est-à-dire non intégrées), vous pouvez configurer un compteur dans User pour garder une trace du nombre de tâches, puis vous pourriez dire des choses comme :
User.where(:num_tasks.gt => 0).limit(10)