Det, du ser, er nøjagtigt korrekt ud fra definitionen af associationer og den underliggende forespørgsel, der matcher "in"-sætningen. Opdater du tænker på "in" som "i sættet" af distinct objekter http://en.wikipedia.org/wiki/Set_(matematik) Hentningen til brugerlisten har en underliggende forespørgsel på brugersamlingen med en $in-klausul, se http://docs.mongodb.org/manual/reference/operator/query/in/
For @task.userlist-tilknytningen får du kun dokumenterne i brugersamlingen, der matcher $in-sætningen, brugersamlingen er det primære "emne." Der er en væsentlig semantisk forskel fra
User.where(:user_id.in => self.user_id)
kontra
self.user_id.collect |user_id| do User.where(:user_id => user_id).first; end
For at få "duplikater" fra den tidligere forespørgsel, skal du have duplikerede dokumenter i brugersamlingen, seriøst.;-)
Håber, at dette hjælper din forståelse.