использование оператора "или" при использовании mongomapper - PullRequest
1 голос
/ 24 декабря 2011

Я пытаюсь запросить MongoMapper с помощью оператора "или". Я нашел пример того, как сделать это с Монго напрямую:

db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } )

поэтому я подумал, что запрос MongoMapper должен выглядеть следующим образом:

Foo.all(:or => [ {:a => 1}, {:b => 2} ])

но это не так.

Может кто-нибудь помочь?

Ответы [ 2 ]

3 голосов
/ 24 декабря 2011

Вы бы хотели это:

Foo.where(:$or => [ {:a => 1}, {:b => 2} ])

или это для MongoMapper:

Foo.all(:$or => [ {:a => 1}, {:b => 2} ])

Запросы MongoMapper - это в значительной степени прямая транслитерация запросов, которые вы используете в оболочке MongoDB.

2 голосов
/ 24 декабря 2011

Использование: Foo.where (: '$ or' => [{: a => 1}, {: b => 1}])

...