आपकी समस्या यह है कि Mongoid का has_many
मूल दस्तावेज़ में कुछ भी नहीं छोड़ता है इसलिए मूल दस्तावेज़ पर कोई प्रश्न नहीं है जो आपके लिए कुछ भी उपयोगी होगा। हालांकि, belongs_to :user
आपके Task
. में एक :user_id
जोड़ देगा tasks
. के लिए फ़ील्ड संग्रह। यह आपको इस तरह की भयानक चीजों के साथ छोड़ देता है:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
बेशक, अगर आपके पास embeds_many :tasks
होता
इसके बजाय has_many :tasks
तो आप :tasks
. को क्वेरी कर सकते हैं users
. के अंदर संग्रह जैसा आप चाहते हैं। ओटीओएच, यह शायद अन्य चीजों को तोड़ देगा।
यदि आपको कार्यों को अलग रखने की आवश्यकता है (अर्थात एम्बेडेड नहीं) तो आप User
में एक काउंटर स्थापित कर सकते हैं कार्यों की संख्या पर नज़र रखने के लिए और फिर आप इस तरह की बातें कह सकते हैं:
User.where(:num_tasks.gt => 0).limit(10)