Вашият проблем е, че 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)