我正在用Mongodb編寫PHP應用程序。我可以搜索喜歡Mongodb中的排序值
$regex='/.*sim.*/i';
$find['Word']=new mongoRegex($regex);
$cursor = $collection->find($find);
,並導致了這樣的
同化
傳真
極強
大元帥
各處
柿子
柿子
類似
同樣
簡單
簡單的傷害
簡單
簡單
簡單
但我想有點像
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,但問題在於搜索結果。我無法在mongodb中對結果進行排序,如MySQL。
更新:
我可以排序後獲取數據,但問題是分頁。結果每次將超過1000次。我不想從數據庫中獲取所有結果。所以,在數據庫中排序並通過分頁獲取結果。
是的,要進行自定義(基於功能)排序,你必須在客戶端進行排序。 – 2011-03-07 15:13:39