Uw probleem is dat de has_many van Mongoid
laat niets achter in het bovenliggende document, dus er zijn geen vragen over het bovenliggende document die iets nuttigs voor u kunnen doen. Echter, de belongs_to :user in je Task zal een :user_id . toevoegen veld naar de tasks verzameling. Dat laat je achter met gruwelijke dingen als deze:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Natuurlijk, als je embeds_many :tasks had
in plaats van has_many :tasks dan zou je de :tasks . kunnen opvragen binnen de users collectie zoals u dat wilt. OTOH, dit zou waarschijnlijk andere dingen kapot maken.
Als u de taken gescheiden moet houden (d.w.z. niet ingesloten), kunt u een teller instellen in User om het aantal taken bij te houden en dan zou je dingen kunnen zeggen als:
User.where(:num_tasks.gt => 0).limit(10)