正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
许多程序设计语言都支持利用正则表达式进行字符串操作。
MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。
MongoDB使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。
不同于全文检索,我们使用正则表达式不需要做任何配置。
考虑以下 posts 集合的文档结构,该文档包含了文章内容和标签:
{ "post_text": "enjoy the mongodb articles on tutorialspoint", "tags": [ "mongodb", "tutorialspoint" ] }
以下命令使用正则表达式查找包含 .cn 字符串的文章:
>db.posts.find({post_text:{$regex:".cn"}})
以上查询也可以写为:
>db.posts.find({post_text:/.cn/})
如果检索需要不区分大小写,我们可以设置 $options 为 $i。
以下命令将查找不区分大小写的字符串 .cn:
>db.posts.find({post_text:{$regex:".cn",$options:"$i"}})
集合中会返回所有包含字符串 .cn 的数据,且不区分大小写:
{ "_id" : ObjectId("53493d37d852429c10000004"), "post_text" : "hey! this is my post on .cc", "tags" : [ "tutorialspoint" ] }
我们还可以在数组字段中使用正则表达式来查找内容。 这在标签的实现上非常有用,如果你需要查找包含以 tutorial 开头的标签数据(tutorial 或 tutorials 或 tutorialpoint 或 tutorialphp), 你可以使用以下代码:
>db.posts.find({tags:{$regex:"tutorial"}})
MongoDB 下载MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从 MongoDB 官网下载安装,MongoDB 预编译二进制...
语法MongoDB 查询数据的语法格式如下:db.COLLECTION_NAME.find()find() 方法以非结构化的方式来显示所有文档。如果你需要以...
在本章中,我们将介绍报表的基础知识以及如何创建报表。报表提供了一种查看,格式化和汇总Microsoft Access数据库中信息的方法。...
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis...
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。...
MySQL Date 函数定义和用法 EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。 语法EXTRACT(unit F...
在本章中,我们将学习WordPress中的审核评论。 评论审核是一个过程,当访问者对帖子发表评论时,评论不会直接发布,除非它被管理...
“拦截器”是框架执行一个方法之前或之后被调用的函数。它允许面向方面编程, 作用如下:请求记录错误处理状态保持在 Revel 中, 有...
使用空白中间件替换默认中间件app := iris.New()替换为app := iris.Default()使用中间件package mainimport ("github.com/katara...