php mongodb模糊搜索

以前一直使用mysql數據庫,模糊搜索like關鍵字就能搞定。最近接入了mongodb平臺,一時無法適應 ,踩了一些坑,在此記錄下來,希望對其他人能夠有用。

1.mongodb對於普通非文本所有字段如何進行模糊搜索
答案:使用正則表達式。
對於過去經常使用mysql的同學可能不太適合,因爲一想到正則表達式,我們就會想到對性能的影響,通常是能不用就不用,但是mongodb除了文本索引只能使用正則表達式進行模糊搜索。

2.如何在php中使用正則表達式
答案:MongoDBBSONRegex(php7使用了mongodb擴展),mongoregex(php7以前使用mongo擴展)

3.兩者在使用細節上的區別
答案:MongoDBBSONRegex在構造regex對象時傳入的字符串不需要前後的斜線,選項通過第二個參數傳入

$regex = new MongoRegex("/^$search/");

$regex = new  \MongoDB\BSON\Regex("^{$search}", 'i');

當然了,如果要使用全文本索引mongodb也是支持的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章