首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mongoid中选择where not null或空

在mongoid中选择where not null或空
EN

Stack Overflow用户
提问于 2012-04-27 00:49:34
回答 3查看 40K关注 0票数 85

我修改了一个模型,使其包含一个新字段,例如...

field :url, :type => String

我使用activeadmin,所以当我创建一个新条目时,@model.url是空的,而在更改模式之前创建的条目中,它是nil。如何同时选择两个?我试过了:

代码语言:javascript
复制
# Returns nils and strings
Model.where(:url.ne => "").count 

# Returns strings and ""
Model.where(:url.ne => nil).count

# Returns strings, nils and ""
Model.where(:url.ne => ["", nil]).count 

或者,如果有针对这种情况的最佳实践,请告诉我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-29 06:08:36

试一试

代码语言:javascript
复制
Model.where(:url.nin => ["", nil]).count

即使在使用url = nil时,它也能正常工作

票数 88
EN

Stack Overflow用户

发布于 2012-04-27 02:36:35

试一试

代码语言:javascript
复制
Model.where(:url.ne => "", :url.exists => true).count

请参阅Mongoid Symbol Operators

票数 96
EN

Stack Overflow用户

发布于 2018-04-13 22:28:41

尝试:

代码语言:javascript
复制
Model.nin(url: ['', nil])
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10337847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档