Мульти условия в Mongoid - PullRequest
       4

Мульти условия в Mongoid

1 голос
/ 29 июня 2011

У меня есть Thing модель с массивом тем и подписок.

Я хочу найти все things, которые current_user следует за Topic или его 'Пользователем'.

@things = Thing
          .where(:user_id.in => current_user.following.map{ |u| u._id })
          .where(:topic_id.in => current_user.topics.map{ |u| u._id })

как то так.Но это на самом деле не работает.он просто возвращает записи, которые являются общими для обоих условий where.

Я хочу вернуть все записи, найденные 2 where операторами.

Спасибо

Ответы [ 2 ]

8 голосов
/ 29 июня 2011
.any_of(
  { :user_id.in => current_user.following.map{ |u| u._id } }, 
  { :topic_id.in => current_user.topics.map{ |u| u._id } }
)
0 голосов
/ 29 июня 2011

будет хорошо установить отношения

references_one :user, :topic

и полагаться на что-то вроде

where :user.in => current_user.following, :topic.in =>current_user.topics...
...