Mongoid: найти через массив идентификаторов

Я получил несколько идентификаторов через MapReduce. Я отсортировал эти идентификаторы по некоторым критериям, и теперь мне нужно получить эти объекты в следующем порядке:

MyModel.find(ids)

Верно? Но он возвращает объекты не в том порядке, в котором хранятся идентификаторы. Похоже, это то же самое, что и

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

, который не возвращает извлеченные объекты в том же порядке, что и сохраненные идентификаторы.

Теперь я могу сделать это

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

, которое выполнит свою работу, но будет многократно выбивать базу данных.

9
задан fl00r 23 September 2011 в 18:08
поделиться