Mongoid中的多条件

时间:2011-06-29 17:34:41

标签: ruby-on-rails mongoid

我有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 个答案:

答案 0 :(得分:8)

.any_of(
  { :user_id.in => current_user.following.map{ |u| u._id } }, 
  { :topic_id.in => current_user.topics.map{ |u| u._id } }
)

答案 1 :(得分:0)

设置关系

会很好
references_one :user, :topic

并依靠smth 像

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