2011-01-26 31 views
32

मैं एक rails3 + mongoid आवेदन की स्थापना की है और जब मैं रेल कंसोल खोलें, ढूँढ़ने वाले से कोई भी काम करने लगते हैं - http://d.pr/FNzCMongoid खोजक काम नहीं कर रहे हैं?

User.all 
User.find(:all, :conditions => { first_name => "John" }) 

दोनों वापसी: मैं कुछ गलत कर रहा हूँ

#<Mongoid::Criteria 
    selector: {}, 
    options: {}> 

?

उत्तर

58

ठीक है, तो यह है कि क्या नए लोगों के लिए mongoid परेशान करता है का हिस्सा है। लोग उपयोगकर्ता की तरह तरीकों की अपेक्षा करते हैं। वास्तव में एक सरणी वापस करने के लिए जब यह वास्तव में मानदंड वस्तु को वापस लौटाता है।

श्रृंखला योग्य तरीकों और अन्य फैंसी क्वेरी तंत्र की सिंथेटिक चीनी प्रदान करने के लिए, मोंडोइड आलसी लोडिंग प्रकार की चीज़ का उपयोग करने लगता है।

आप कर सकते हैं:

#array index 
User.all[0] 

#first/last 
User.all.first 

#each over things, print out all the users 
User.all.each {|u| p u} 

#edit, I forgot to include this, which is probably what you really want 
#this spits out an array 
User.all.to_a 

यह यह मुश्किल जल्दी से सत्यापित करने के लिए है कि चीजें जहां User.all सिर्फ एक सरणी देता है ActiveRecord से नए लोगों के लिए काम कर रहे हैं बनाता है।

+2

के लिए काम नहीं करता है। यद्यपि उनके पास प्रलेखन है, लेकिन ऐसा लगता है कि पॉइंटर्स ने वास्तव में मानदंड वस्तुओं को बनाया है जिन्हें आपको फिर से शुरू करना है। जैसा कि आपने कहा, एआर कक्षाओं में इस्तेमाल नवागंतुकों के लिए थोड़ा परेशान। – Hutch

+0

क्या होगा यदि आपको '.to_a' का उपयोग करते समय कनेक्शन त्रुटि मिलती है? – Gcap

1

इस प्रयास करें:

User.all.first   
    User.find(:first, :conditions => {:first_name => 'John'})  
    User.where(:first_name => 'John').first 
+1

यह मोंगोइड के लिए काम नहीं करता है। –

+0

उपयोगकर्ता। जहां निश्चित रूप से mongoid – harshit

संबंधित मुद्दे