W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
正則表達(dá)式是使用單個(gè)字符串來描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。
許多程序設(shè)計(jì)語言都支持利用正則表達(dá)式進(jìn)行字符串操作。
MongoDB 使用 $regex 操作符來設(shè)置匹配字符串的正則表達(dá)式。
MongoDB使用PCRE (Perl Compatible Regular Expression) 作為正則表達(dá)式語言。
不同于全文檢索,我們使用正則表達(dá)式不需要做任何配置。
考慮以下 posts 集合的文檔結(jié)構(gòu),該文檔包含了文章內(nèi)容和標(biāo)簽:
{ "post_text": "enjoy the mongodb articles on tutorialspoint", "tags": [ "mongodb", "tutorialspoint" ] }
以下命令使用正則表達(dá)式查找包含 w3cschool.cn 字符串的文章:
>db.posts.find({post_text:{$regex:"w3cschool.cn"}})
以上查詢也可以寫為:
>db.posts.find({post_text:/w3cschool.cn/})
如果檢索需要不區(qū)分大小寫,我們可以設(shè)置 $options 為 $i。
以下命令將查找不區(qū)分大小寫的字符串 w3cschool.cn:
>db.posts.find({post_text:{$regex:"w3cschool.cn",$options:"$i"}})
集合中會返回所有包含字符串 w3cschool.cn 的數(shù)據(jù),且不區(qū)分大小寫:
{ "_id" : ObjectId("53493d37d852429c10000004"), "post_text" : "hey! this is my post on W3Cschool.cc", "tags" : [ "tutorialspoint" ] }
我們還可以在數(shù)組字段中使用正則表達(dá)式來查找內(nèi)容。 這在標(biāo)簽的實(shí)現(xiàn)上非常有用,如果你需要查找包含以 tutorial 開頭的標(biāo)簽數(shù)據(jù)(tutorial 或 tutorials 或 tutorialpoint 或 tutorialphp), 你可以使用以下代碼:
>db.posts.find({tags:{$regex:"tutorial"}})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: