Мне нужно выполнить поиск по тексту и вернуть результаты, отсортированные по расстоянию.
Первое решение состояло в том, чтобы выполнить запрос $ geoNear, а затем выполнить $ match, чтобы получить необходимые результаты.Это решение проблематично, потому что мой этап $ geoNear имеет предел результатов, и в этом случае элементы, которые находятся далеко от точки ввода, не будут отображаться, даже если они соответствуют этапу $ match.
Если я выполню $ matchНа первом этапе у меня проблема с сортировкой по расстоянию.$ GeoNear не является опцией, так как он должен быть на первом этапе по определению.Я могу самостоятельно рассчитать расстояние и отсортировать результаты, но это не сработает, поскольку я делаю пейджинг.
- Примечание: мое объединение выполняет поиск в другой таблице, а затем выполняет дополнительный поиск, прежде чем я получу результаты, которые необходимо отсортировать
Кажетсямне как курица и проблема с яйцом.