查询MongoDB的单个字段并插入到数组中

时间:2012-12-05 11:22:20

标签: ruby-on-rails-3 mongodb mongoid

我目前正在使用Mongoid与我的mongodb数据库交谈。我有如下查询:

ClassDoc.only(:class_id).where(:recurrs => true)

我只对ID感兴趣,因为我在后续查询中将它们排除在外。但是,后续查询需要数组中的ID,所以我必须这样做:

first_result_ids = ClassDoc.only(:class_id).where(:recurrs => true).collect { |class| class.class_id }

这需要相当长的时间,因为AFAIK'收集'循环每个结果。只需10秒即可完成1000次结果循环。

有没有办法将ID直接拉入数组?

1 个答案:

答案 0 :(得分:1)

试试这个

first_result_ids = ClassDoc.only(:class_id).where(:recurrs => true).map(&:class_id)