Dit problem er, at Mongoids has_many
efterlader ikke noget i det overordnede dokument, så der er ingen forespørgsler på det overordnede dokument, der vil gøre noget nyttigt for dig. Dog belongs_to :user
i din Task
vil tilføje en :user_id
feltet til tasks
kollektion. Det efterlader dig med forfærdelige ting som dette:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
Selvfølgelig, hvis du havde embeds_many :tasks
i stedet for has_many :tasks
så kan du forespørge på :tasks
inde i users
indsamling som du vil. OTOH, dette ville sandsynligvis ødelægge andre ting.
Hvis du har brug for at holde opgaverne adskilt (dvs. ikke indlejret), kan du konfigurere en tæller i User
at holde styr på antallet af opgaver og så kunne man sige ting som:
User.where(:num_tasks.gt => 0).limit(10)