新聞中心
在MongoDB中,使用正則表達(dá)式查詢(xún)可以使用$regex操作符。db.collection.find({field: {$regex: /pattern/}})。
在MongoDB中,可以使用正則表達(dá)式進(jìn)行查詢(xún),以下是一些常用的正則表達(dá)式查詢(xún)方法:

1、基本匹配
使用$regex操作符進(jìn)行基本匹配,查詢(xún)名字以"張"開(kāi)頭的文檔:
db.collection.find({name: {$regex: /^張/}})
2、不區(qū)分大小寫(xiě)
使用i標(biāo)志進(jìn)行不區(qū)分大小寫(xiě)的匹配,查詢(xún)名字以"張"或"張"開(kāi)頭(不區(qū)分大小寫(xiě))的文檔:
db.collection.find({name: {$regex: /^張/i}})
3、多選一匹配
使用|分隔多個(gè)正則表達(dá)式,查詢(xún)名字以"張"或"李"開(kāi)頭的文檔:
db.collection.find({name: {$regex: /^(張|李)/}})
4、范圍匹配
使用[]表示范圍,查詢(xún)名字以"張"開(kāi)頭,第二個(gè)字符是"a"到"z"之間的字母的文檔:
db.collection.find({name: {$regex: /^張[az]/}})
5、數(shù)量匹配
使用{m}表示前面的正則表達(dá)式重復(fù)m次,使用{m,n}表示前面的正則表達(dá)式重復(fù)m到n次,查詢(xún)名字長(zhǎng)度為3的文檔:
db.collection.find({name: {$regex: /^.{3}$/}})
6、分組匹配
使用()進(jìn)行分組,查詢(xún)名字以"張三"或"李四"開(kāi)頭的文檔:
db.collection.find({name: {$regex: /^(張三|李四)/}})
7、特殊字符轉(zhuǎn)義
使用\進(jìn)行特殊字符轉(zhuǎn)義,查詢(xún)名字包含"."的文檔:
db.collection.find({name: {$regex: /\./}})
8、錨定匹配
使用^表示字符串開(kāi)始,使用$表示字符串結(jié)束,查詢(xún)名字以"張"結(jié)尾的文檔:
db.collection.find({name: {$regex: /張$/}})
分享標(biāo)題:MongoDB中正則表達(dá)式查詢(xún)?cè)趺磳?shí)現(xiàn)
轉(zhuǎn)載源于:http://m.5511xx.com/article/cojphpp.html


咨詢(xún)
建站咨詢(xún)
