摘要:以前一直使用數(shù)據(jù)庫,模糊搜索關(guān)鍵字就能搞定。最近接入了平臺(tái),一時(shí)無法適應(yīng),踩了一些坑,在此記錄下來,希望對(duì)其他人能夠有用。對(duì)于普通非文本所有字段如何進(jìn)行模糊搜索答案使用正則表達(dá)式。
以前一直使用mysql數(shù)據(jù)庫,模糊搜索like關(guān)鍵字就能搞定。最近接入了mongodb平臺(tái),一時(shí)無法適應(yīng) ,踩了一些坑,在此記錄下來,希望對(duì)其他人能夠有用。
1.mongodb對(duì)于普通非文本所有字段如何進(jìn)行模糊搜索
答案:使用正則表達(dá)式。
對(duì)于過去經(jīng)常使用mysql的同學(xué)可能不太適合,因?yàn)橐幌氲秸齽t表達(dá)式,我們就會(huì)想到對(duì)性能的影響,通常是能不用就不用,但是mongodb除了文本索引只能使用正則表達(dá)式進(jìn)行模糊搜索。
2.如何在php中使用正則表達(dá)式
答案:MongoDBBSONRegex(php7使用了mongodb擴(kuò)展),mongoregex(php7以前使用mongo擴(kuò)展)
3.兩者在使用細(xì)節(jié)上的區(qū)別
答案:MongoDBBSONRegex在構(gòu)造regex對(duì)象時(shí)傳入的字符串不需要前后的斜線,選項(xiàng)通過第二個(gè)參數(shù)傳入
$regex = new MongoRegex("/^$search/"); $regex = new MongoDBBSONRegex("^{$search}", "i");
當(dāng)然了,如果要使用全文本索引mongodb也是支持的
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/19505.html
摘要:以前一直使用數(shù)據(jù)庫,模糊搜索關(guān)鍵字就能搞定。最近接入了平臺(tái),一時(shí)無法適應(yīng),踩了一些坑,在此記錄下來,希望對(duì)其他人能夠有用。對(duì)于普通非文本所有字段如何進(jìn)行模糊搜索答案使用正則表達(dá)式。 以前一直使用mysql數(shù)據(jù)庫,模糊搜索like關(guān)鍵字就能搞定。最近接入了mongodb平臺(tái),一時(shí)無法適應(yīng) ,踩了一些坑,在此記錄下來,希望對(duì)其他人能夠有用。 1.mongodb對(duì)于普通非文本所有字段如何進(jìn)行...
摘要:前言在使用加載數(shù)據(jù)數(shù)據(jù)庫常見的優(yōu)化操作后端掘金一索引將放第一位,不用說,這種優(yōu)化方式我們一直都在悄悄使用,那便是主鍵索引。 Redis 內(nèi)存壓縮實(shí)戰(zhàn) - 后端 - 掘金在討論Redis內(nèi)存壓縮的時(shí)候,我們需要了解一下幾個(gè)Redis的相關(guān)知識(shí)。 壓縮列表 ziplist Redis的ziplist是用一段連續(xù)的內(nèi)存來存儲(chǔ)列表數(shù)據(jù)的一個(gè)數(shù)據(jù)結(jié)構(gòu),它的結(jié)構(gòu)示例如下圖 zlbytes: 記錄整...
摘要:模糊查詢并分頁建立數(shù)據(jù)庫代碼如下頁面布局這里只需要搜索框和搜索按鈕,再點(diǎn)擊按鈕時(shí),執(zhí)行方法并發(fā)送請(qǐng)求代碼如下請(qǐng)輸入項(xiàng)目名稱搜索設(shè)置每頁顯示頁碼設(shè)置當(dāng)前頁碼為獲取查找條件為模糊查詢固定語法,為參數(shù)刷新頁面查找內(nèi)容查找個(gè)數(shù)重新分頁改變頁碼 mongodb模糊查詢并分頁 1.建立數(shù)據(jù)庫 代碼如下: var mongoose = require(mongoose); var shortid =...
閱讀 3244·2021-11-11 11:00
閱讀 2565·2019-08-29 11:23
閱讀 1441·2019-08-29 10:58
閱讀 2323·2019-08-29 10:58
閱讀 2952·2019-08-23 18:26
閱讀 2507·2019-08-23 18:18
閱讀 2038·2019-08-23 16:53
閱讀 3411·2019-08-23 13:13