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)