【问题标题】:How to get results from a Mongoid query如何从 Mongoid 查询中获取结果
【发布时间】:2014-04-30 22:38:02
【问题描述】:

我正在尝试从类似于以下 SQL 的 Mongoid 查询中获取结果数组;

select field1, field2 from table;  

以下返回正确的条件,但我需要结果

collection.only(:field1,:field2)

如果我不使用 .only 方法,我可以使用 .to_a 获得结果:

collection.all.to_a

但如果我将 .to_a 方法与 .only 方法一起添加:

collection.only(:field1,:field2).to_a 

它返回一个错误“(对象不支持#inspect)”

这似乎很基本,我错过了什么吗?

有趣的注释,这个语法在 Mongodb 控制台上工作;

db.collection.find({ }, { field1: 1, field2: 1 })

但是如何从 Mongoid 做到这一点?

【问题讨论】:

  • 你试过table.only(:field1,:field2).entries
  • 是的,其行为似乎与 to_a 相同。

标签: ruby-on-rails mongoid


【解决方案1】:

我想你在找Criteria#pluck

collection.pluck(:field1,:field2)

【讨论】:

  • 效果很好!我以为我彻底搜索了文档,但我错过了“Pluck”:-)
猜你喜欢
  • 2018-12-06
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多