0
假设的顺序检索对象:Mongoid:在
提到= [ “2”, “1”, “3”]
未排序= User.where(:nickname.in = >提及).MAP
的输出不提供的数组中的排序匹配
输出是随机=> 3,1,2
我希望它按照原数组=> 2,1,3
假设的顺序检索对象:Mongoid:在
提到= [ “2”, “1”, “3”]
未排序= User.where(:nickname.in = >提及).MAP
的输出不提供的数组中的排序匹配
输出是随机=> 3,1,2
我希望它按照原数组=> 2,1,3
我有同样的问题,我解决这样的:
mentions=["foo","bar","baz"]
ranked = User.where(:nickname.in => mentions).sort do |a, b|
mentions.index(a.nickname) <=> mentions.index(b.nickname)
end
不是真的,因为最好的解决方法我排序在应用程序,而不是数据库引擎,但嘿..它的作品(在小名单)。