我目前正在使用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直接拉入数组?
答案 0 :(得分:1)
试试这个
first_result_ids = ClassDoc.only(:class_id).where(:recurrs => true).map(&:class_id)