2012-04-22 15 views
5

सेटअप होना चाहिए।कुंजी तार या प्रतीकों

मुझे लगता है कि यह dataMapper जो मैं mongid के अलावा उपयोग कर रहा हूँ,

मैं dataMapper और mongoid के बीच टकराव देखता है (dataMapper साथ anoher सर्वर से डेटा पोर्टिंग) के बाद से वे दोनों विभिन्न तरीकों के साथ प्रतीक का विस्तार के साथ कुछ है , asc, desc आदि। क्या यह वही समस्या हो सकती है?

यहाँ अगर यह किसी भी मदद है मेरी स्टैकट्रेस से एक टुकड़ा है:

keys must be strings or symbols 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongo-1.6.2/lib/mongo/collection.rb:436:in `update' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:25:in `block in update' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/retry.rb:29:in `retry_on_connection_failure' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:24:in `update' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collection.rb:149:in `update' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid_orderable/mongoid/contexts/mongo.rb:6:in `inc' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid_orderable/mongoid/criteria.rb:1:in `inc' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid/orderable.rb:125:in `apply_position' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid/orderable.rb:85:in `add_to_list' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.2.2/lib/active_support/callbacks.rb:419:in `block in _run__3008157942946527494__save__4591629889417243504__callbacks' 
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.2.2/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_742' 

mongoid_orderable की वर्तमान कार्यान्वयन पीछा कर रहा है:

class MyModel 
    include Mongoid::Document 
    include Mongoid::Orderable 
    default_scope order_by(:position => :asc) 
end 

मैं बहुत यकीन है कि यह के आधार पर _mongoid_orderable_ से संबंधित है कर रहा हूँ stacktrace और तथ्य यह है कि अगर मैं _mongoid_orderable_ संबंधित लाइनों पर टिप्पणी करता हूं तो यह काम करता है। इसके अलावा एक मुद्दा here

उत्तर

5

हल किया गया।

यह था, हालांकि, मैं मोंगोइड और डेटामैपर के साथ टकराव था। mongoid_orderable में कुछ पंक्तियों को बदलने से हल हो गया।

किसी को भी इस समस्या यह है, क्योंकि दोनों DataMapper और Mongoid gte, gt, lt, lte आदि

तरह ऑपरेटरों के साथ प्रतीक प्रदान कर रहा है इस collission से बचने के लिए सिर्फ mongoids विकल्प सिंटैक्स का उपयोग पर आते हैं:

के बजाय:

order_by(:created_at.desc) 

और

where(:type.ne => 'Class') 

इस का उपयोग करें:

order_by(:created_at => :desc) 

और

where(:type => {'$ne' => 'Class'}) 
संबंधित मुद्दे