Я пишу PHP-приложение с Mongodb.Я могу искать как
$regex='/.*sim.*/i';
$find['Word']=new mongoRegex($regex);
$cursor = $collection->find($find);
и получить такой результат
ассимилировать
факсимиле
fortissimo
generalissimo
пассим
хурма
хурма
аналогично
аналогично
простой
простой больно
проще
проще
просто
Но я хочу отсортировать как
1. sim
2. sim*
3. *sim*
4. sim*
Как написать регулярное выражение иликак сортировать как это?В MySQL я написал
SELECT * , IF( `Word` = 'sim', 1, IF( `Word` LIKE 'sim%', 2, IF( `Word` LIKE '%sim', 4, 3 ) ) ) AS `sort` FROM `dblist` WHERE `Word` LIKE '%sim%' ORDER BY `sort` , `Word`
Теперь я планирую изменить MySQL на Mongodb, но проблема заключается в результате поиска.Я не могу отсортировать результаты, как MySQL, в mongodb.
Обновление:
Я могу отсортировать после получения данных, но проблема заключается в подкачке.Результат превысит 1000 раз.Я не хочу получать все результаты из базы данных.Итак, сортировка в базе данных и получение результата с разбивкой по страницам.