MongoDB正则表达式
与文本搜索不同,您不需要执行任何配置或令就可以直接使用正则表达式。假设我们已经在名为 posts 的中插入了一个文档,如下所示:
> db.posts.insert(
... {
... "post_text": "enjoy the mongodb articles on bianchengbang",
... "tags": ["mongodb", "bianchengbang"]
... }
... )
使用正则表达式
下面的 regex 查询将搜索 post_text 字段中包含字符串“bianchengbang”的所有文档:上面的查询也可以写成如下所示的样子:> db.posts.find({post_text:{$regex:"bianchengbang"}}).pretty()
{
"_id" : ObjectId("6041dfc3835e4aa734b591df"),
"post_text" : "enjoy the mongodb articles on bianchengbang",
"tags" : [
"mongodb",
"bianchengbang"
]
}
> db.posts.find({post_text:/bianchengbang/}).pretty()
{
"_id" : ObjectId("6041dfc3835e4aa734b591df"),
"post_text" : "enjoy the mongodb articles on bianchengbang",
"tags" : [
"mongodb",
"bianchengbang"
]
}
在不区分大小写的情况下使用正则表达式
若要在查询时不区分大小写,我们可以将 $options 参数的值设置为 $i,下面的令可以查询 post_text 字段中包含“bianchengbang”的文档,且不区分大小写。> db.posts.find({post_text:{$regex:"BianChengBang",$options:"$i"}}).pretty()
{
"_id" : ObjectId("6041dfc3835e4aa734b591df"),
"post_text" : "enjoy the mongodb articles on bianchengbang",
"tags" : [
"mongodb",
"bianchengbang"
]
}
对数组元素使用正则表达式
我们还可以在数组字段上使用正则表达式来查找内容,这在实现标签时非常有用。假如要搜索所有以 b 开头的字段(例如 bian、biancheng、bianchengbang 等),可以使用如下所示的代码:> db.posts.find({tags:{$regex:"b"}}).pretty()
{
"_id" : ObjectId("6041dfc3835e4aa734b591df"),
"post_text" : "enjoy the mongodb articles on bianchengbang",
"tags" : [
"mongodb",
"bianchengbang"
]
}
优化正则表达式查询
如果文档字段已建立索引,那么查询将使用索引值来匹配正则表达式,与使用正则表达式扫描整个相比,使用索引来查询数据的速度会更快。如果正则表达式是前缀表达式,则所有匹配项均应以某个字符串字符开头。例如,如果正则表达式为 ^tut,则查询仅需要搜索以 tut 开头的那些字符串。
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- yy魔兽(yy魔兽世界)
- 充值卡代理(充值卡代理加盟)
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
