MongoDB map / reduce機能は、MongoIdバージョン2+のMongoidCriteriaでは使用できないという点で正しいですか?
誰かがこれを確認できますか私には基準があります
ここに私のクエリ
class PerformerSource
scope :active_performers,where(:active => true).only([:performer_id, :sort_order,:stage_name, :photo, :large_photo, :status, :current_performance_type,:current_sign_in_at])
end
PerformerSource.active_performers.order_by([:sort_order,:desc])
map/reduce関数を適用したい
このようなもの
PerformerSource.active_performers.order_by([:sort_order,:desc]).map_reduce(PerformerSource.map,PerformerSource.reduce)
しかし、私がこれを行うときはいつでも、それはエラーで戻ります
NoMethodError:#の未定義のメソッド `map_reduce'
map/reduceが利用可能かどうかを確認する
PerformerSource.active_performers.order_by([:sort_order,:desc]).respond_to?(:map_reduce)
=> false
PerformerSource.respond_to?(:map_reduce)
=> false
Mongoid-3にはMongoid-criteriaにmap/reduceを追加する機能がありますが、Mongoid 2では同じものを見つけることができないので、私は信じていますか?
アプリケーションはRuby-1.8.7で実行されており、mongoid 3にはruby-1.9+が必要なので、mongoidをアップグレードできます(できればいいのですが)。
したがって、map / reduceが、map / reduceを実行する方法の基準で機能しない場合は、他の条件を考慮に入れることができます。
active_performers.order_by([:sort_order,:desc])
注:わかりやすくするために、マップとリデュース機能は追加していません