내 레일 응용 프로그램에서 모델 몽고의 DB를 사용하고, 언제 내가mongomapper의 논리적 "and"쿼리에 문제가 있습니까?
Model.where(:$or => [{:field1 => true}, {:field2 => true}])
을 실행 즉, FIELD1 또는 FIELD2, 잘난 쿼리를
#<Plucky::Query $or: [{:field1=>true}, {:field2=>true}], transformer: #<Proc:[email protected]/home/x/.rvm/gems/[email protected]/gems/mongo_mapper-0.9.2/lib/mongo_mapper/plugins/querying.rb:79 (lambda)>>
수행 OR 연산을 생산하고 올바른 결과를 가져옵니다 사실하지만
Model.where(:$and => [{:field1 => true}, {:field2 => true}])
은 잘난 쿼리를 생성
#<Plucky::Query $and: {"$in"=>[{:field1=>true}, {:field2=>true}]}, transformer: #<Proc:[email protected]/home/x/.rvm/gems/[email protected]/gems/mongo_mapper-0.9.2/lib/mongo_mapper/plugins/querying.rb:79 (lambda)>>
하는 대신 오류를
몽고 :: OperationFailure 예외가 발생, AND 연산을 수행하지 않습니다 : $ 표현이어야 비어 있지 않은 배열을
세부
레일즈 버전 : 3.1, Mongo 버전 : 2.0.0, mongo_mapper 보석 버전 : 0.9.2
달콤한! 감사.. – n00b