首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails4+mongoid4:Model.only(“.to_a”)字段不能像以前一样工作

Rails4+mongoid4:Model.only(“.to_a”)字段不能像以前一样工作
EN

Stack Overflow用户
提问于 2014-05-14 17:46:23
回答 1查看 549关注 0票数 1

我刚刚在Rails4和Mongoid4beta中启动了一个新项目,我在Mongoid3中经常使用的一个旧行为不再起作用了。

在我用idfield编写Model.only("field").to_a并得到一个数组之前,所有其他字段都设置为空。

如果我在Mongoid4中尝试这样做,我会得到:(Object doesn't support #inspect)

Model.only("field").map {|e| e.field}正在工作,尽管不像以前那样。不再包含id,如果我尝试访问id,则会得到ActiveModel::MissingAttributeError

我知道我可以使用Model.pluck("field"),但是它不会返回一个文档数组。

这些变化是真的吗,还是我错过了什么?

编辑:在我写这篇文章的时候,我试着把id包括进来,它工作起来了。即。Model.only("id", "field").to_a像以前一样工作,但我的问题仍然有效。现在是否必须包含id才能获得documents数组

EN

回答 1

Stack Overflow用户

发布于 2014-08-17 05:11:11

这是Mongoid4上的一个新行为。正如你所说的,你可以将"id“字段添加到唯一的方法中,它应该可以工作。你也可以使用pluck方法来获取你想要的字段的数组。类似于:

Model.all.pluck("id",“Model.all.pluck”)。正如您所说的,您已经知道pluck了,这就是我们要做的..

干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23651078

复制
相关文章

相似问题

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