Я сомневаюсь, что в настоящее время это возможно с MongoDB, но я хотел бы знать, можно ли отсортировать набор результатов запроса по массиву значений в этом наборе результатов.Это было бы аналогично функциональности MySQL «ORDER BY FIELD».Краткий пример этой функциональности MySQL: http://pastebin.com/qtL1vKcM
Вот аналогичный пример того, что я пытаюсь выполнить в консоли mongodb: http://pastebin.com/LuKqA6b1
Я знаю, что большинство людей будетПредлагаю: сделать сортировку на стороне клиента / кода приложения.Тем не менее, это не выполнимо в моем случае.Я разбил на страницы набор результатов (т. Е. Комбинация skip () / limit ()).Сортировка в коде приложения потребует выбора всей коллекции в коде моего приложения, ее нефильтрования, сортировки и применения разбивки на страницы.
Мне нужно отсортировать набор результатов перед применением skip () / limit ().
Я думаю, что эта функциональность была бы чрезвычайно практичной.В моем случае я пытаюсь интегрировать функциональность Sphinx для поиска текста с MongoDB, сохраняя сортировку Sphinx по релевантности совпадений.Это работает так:
- Документы Sphinx хранятся с MongoID в качестве строкового атрибута.Это напрямую соответствует документу MongoDB.
- Когда пользовательский текстовый поиск выполняется, Sphinx запрашивается первым.MongoID из набора результатов Sphinx затем используются для запроса коллекции MongoDB (т. Е. Оператора $ in).
- Сортировка релевантности, предоставляемая набором результатов Sphinx, теряется.
- : (
Есть ли практический способ сделать это?