gpt4 book ai didi

ruby-on-rails - Mongoid:通过id数组查找

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:06 25 4
gpt4 key购买 nike

我已经通过 MapReduce 获取了一些 ID。我已经按照一些标准对这些 ID 进行了排序,现在我需要按照这个特定的顺序获取这些对象:

MyModel.find(ids)

对吧?但它返回的对象不在存储 id 的顺序中。看起来这和

MyModel.where(:_id.in => ids)

它不会以与存储 ID 相同的顺序返回获取的对象。

现在我可以做到了

ids.map{|id| MyModel.find(id)}

这将完成这项工作,但它会多次敲击数据库。

最佳答案

正在研究类似的问题并找到了更简洁的解决方案:

objs = MyModel.find(ids).sort_by{|m| ids.index(m.id) }

基本上只是使用排序 block 来获取元素的索引。

关于ruby-on-rails - Mongoid:通过id数组查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7533104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com