2012-03-04 1 views
0

와 OR 쿼리 "키 문자열이나 기호를해야한다" MongoMapper 내가이 쿼리를

keys must be strings or symbols 

내가 두에서 또는 쿼리를 분할, 두 작품 :

Model.where({'$or' => [{:date => nil}, {:date.gt => Time.new}]}).count 

오류가 발생합니다 . $ 또는 $에 대해 실수를해도됩니까?

그냥 경우 : 몽고 매퍼 0.9.2)

그리고 단지의 경우에, 나는 0.11

답변

0

로 업데이트하지만 이런 식으로 작동합니다

.where({:$or => [{:date => nil}, {:date => {:$gt => nil}}]}) 

모르겠다을 왜.

어떻게 찾았나요? 이 내용을 입력하십시오.

.where({:$or => [{:date => nil}]}) 

웃긴 맞습니까?

+0

': date.gt'는 기호가 아니며 SymbolOperator입니다. –

+0

하지만 .where (: data.gt => Time.new)가 작동하며 SymbolOperator이기도합니다. SymbolOperator 자동 대체 로직이 중첩 쿼리에서 중단된다는 의미입니까? : s – ProxyGear

+0

그러나'(: data.gt => Time.now)'는': $ or '을 사용하지 않습니다. 나는 여기서 어떤 일이 일어나고 있는지 확신 할 수 없다. 어쨌든 이상한 제한처럼 보인다. –