【问题标题】:Or conditions in mongoid或 mongoid 中的条件
【发布时间】:2011-11-25 05:32:03
【问题描述】:

我有两个查询,

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

我需要使用 or 条件来组合这些查询。 我试过了,

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}) 但我没有得到结果。

【问题讨论】:

  • 那么基本上你想合并这两个查询的结果?

标签: ruby-on-rails mongodb mongoid


【解决方案1】:

你可以这样做:

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 查询以获取数据。

【讨论】:

  • 谢谢。我正在开发 mongo 1.2.1,当我将它升级到 1.8.1 时它正在工作。
猜你喜欢
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多