Или условия в монгоиде - PullRequest
       25

Или условия в монгоиде

8 голосов
/ 25 ноября 2011

У меня есть два запроса,

Post.where(:group_id.in => group_ids, :deleted => false) Post.where(:user_id=>user.id,:deleted=>false)

Мне нужно объединить эти запросы, используя или условие.Я пытался, как,

Post.where(:deleted => false).or({:user_id=>user.id},{:group_id.in => group_ids}) и Post.any_of({:group_id.in=>group_ids},{:user_id=>user.id}), но я не получил результаты.

1 Ответ

23 голосов
/ 25 ноября 2011

Вы можете сделать это так:

Post.any_of({:group_id.in => group_ids, :deleted => false}, {:user_id => user.id, :deleted => false})

или

Post.all_of(:deleted => true, :or => [{:group_id.in => group_ids}, {:user_id => user.id}])

Вы можете вызвать selector в любом из этих выражений, чтобы увидеть запрос mongodb, который будет сгенерирован для получения данных.

...