आप जो देख रहे हैं वह एसोसिएशन की परिभाषा और "इन" क्लॉज से मेल खाने वाली अंतर्निहित क्वेरी से बिल्कुल सही है। विशिष्ट के "इन" को "सेट में" के रूप में सोचने के लिए ताज़ा करें ऑब्जेक्ट http://en.wikipedia.org/wiki/Set_(mathematics) उपयोगकर्ता सूची के लिए फ़ेच में $in क्लॉज़ के साथ उपयोगकर्ता संग्रह पर एक अंतर्निहित क्वेरी है, देखें http://docs.mongodb.org/manual/reference/operator/query/in/
@Task.userlist एसोसिएशन के लिए, आपको उपयोगकर्ता संग्रह में केवल वही दस्तावेज़ मिलेंगे जो $in क्लॉज़ से मेल खाते हैं, उपयोगकर्ता संग्रह प्राथमिक "विषय" है।
User.where(:user_id.in => self.user_id)
बनाम
self.user_id.collect |user_id| do User.where(:user_id => user_id).first; end
पूर्व क्वेरी से "डुप्लिकेट" प्राप्त करने के लिए, आपको उपयोगकर्ता संग्रह में डुप्लिकेट दस्तावेज़ों को गंभीरता से लेना होगा।;-)
आशा है कि इससे आपकी समझ में मदद मिलेगी।