我不能在 Mongoapper 中使用 OR 将这两个范围链接在一起:
scope :comment_is_nil, where(:comment => nil)
scope :post_not_blank, where(:post.ne => "")
它应该返回评论不为零的模型对象,或者帖子不为空白。
这不起作用:
Model.where("$or" => [{:comment_is_nil, :post_not_blank])
有任何想法吗?
我不能在 Mongoapper 中使用 OR 将这两个范围链接在一起:
scope :comment_is_nil, where(:comment => nil)
scope :post_not_blank, where(:post.ne => "")
它应该返回评论不为零的模型对象,或者帖子不为空白。
这不起作用:
Model.where("$or" => [{:comment_is_nil, :post_not_blank])
有任何想法吗?
链接作用域是一个和操作,所以M.comment_is_nil.post_not_blank
不会像你知道的那样工作。MongoDB 的or语法如下所示:
Model.where(
:$or => [
{ :comment => nil },
{ :post.ne => '' }
]
)
因此,您需要通过手动扩展范围来为其提供一系列单独的条件。