【发布时间】:2012-01-27 14:44:58
【问题描述】:
在我的应用中,我有以下查询:
Model.where(flagged: true, saved: false)
或者我可以使用Model.all(:conditions => {flagged: true, saved: false})
没关系。
现在我如何获得该查询的否定?即所有不满足flagged: true AND saved: false 的模型实例(相当于flagged != true OR saved != false)
Model.excludes(flagged: true, saved: false) 返回满足flagged != true AND saved != false) 的实例
【问题讨论】:
-
你还有问题吗?
-
@tyler - 感谢您的提问。不,我已经解决了这个问题。这并没有阻止我,只是意味着我的代码不能像我想要的那样优雅。
-
哦,看看我的回答。我认为它准确地完成了您正在寻找的事情,无论哪种方式,都为解决它而欢呼。
-
@tyler - 谢谢,但是当我在罗素的回答中加入 cmets 时,我想知道在一般情况下是否有可能,而不仅仅是针对我的具体情况。我猜 mongoid 可以做布尔扩展,但从它的声音来看,Russell 会反对