Вашият проблем е, че has_many на Mongoid
не оставя нищо в родителския документ, така че няма заявки в родителския документ, които да направят нещо полезно за вас. Обаче belongs_to :user във вашата Task ще добави :user_id поле към tasks колекция. Това ви оставя с ужасяващи неща като това:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Разбира се, ако сте имали embeds_many :tasks
вместо has_many :tasks тогава можете да направите заявка към :tasks вътре в users колекция, както искате. OTOH, това вероятно ще повреди други неща.
Ако трябва да запазите задачите отделно (т.е. да не са вградени), тогава можете да настроите брояч в User за да следите броя на задачите и тогава можете да кажете неща като:
User.where(:num_tasks.gt => 0).limit(10)