MongoDB模糊查询操作的示例分析
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍了MongoDB模糊查询操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.作用与语法描述作用: 正则表达
千家信息网最后更新 2025年11月12日MongoDB模糊查询操作的示例分析
这篇文章主要介绍了MongoDB模糊查询操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1.作用与语法描述
作用: 正则表达式是使用指定字符串来描述、匹配一系列符合某个句法规则的字符串。许多程序设计语言都支持利用正则表达式进行字符串操作。MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。
语法一
{ : { $regex: /pattern/, $options: '' } }{ : { $regex: 'pattern', $options: '' } }{ : { $regex: /pattern/ } } 语法二
{ : /pattern/ } 2.案例演示
假设MongoDB中存放了我们OrderService服务的消息信息,其数据如下:
(以下为演示所用到的9个文档)
{ "_id" : ObjectId("5d305b1c4857fc49c0c14c81"), "order" : "QQ00001", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b3b4857fc49c0c14c82"), "order" : "QQ00001", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b404857fc49c0c14c83"), "order" : "QQ00002", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b454857fc49c0c14c84"), "order" : "QQ00002", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b4b4857fc49c0c14c85"), "order" : "QQ00003", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b4f4857fc49c0c14c86"), "order" : "QQ00003", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305bb74857fc49c0c14c87"), "order" : "QQ00003", "data" : "\"OK \""},{ "_id" : ObjectId("5d305bd14857fc49c0c14c88"), "order" : "QQ00002", "data" : "\"OK \""},{ "_id" : ObjectId("5d305be94857fc49c0c14c89"), "order" : "QQ00001", "data" : "\"OK \""}需求: 查询 data 字段 含有 字符
OK的文档执行代码如下:
db.dbtestregex.find({data:{ $regex:/OK<\/Head>/}})查询代码中的 \ 为转移符,以下查询语句也是如此。
返回结果如下:
{ "_id" : ObjectId("5d305bb74857fc49c0c14c87"), "order" : "QQ00003", "data" : "\"OK \""},{ "_id" : ObjectId("5d305bd14857fc49c0c14c88"), "order" : "QQ00002", "data" : "\"OK \""},{ "_id" : ObjectId("5d305be94857fc49c0c14c89"), "order" : "QQ00001", "data" : "\"OK \""}上面的查询命令也可以改写成:
db.dbtestregex.find({data:/OK<\/Head>/})其查询结果是一样的,如下:
{ "_id" : ObjectId("5d305bb74857fc49c0c14c87"), "order" : "QQ00003", "data" : "\"OK \""},{ "_id" : ObjectId("5d305bd14857fc49c0c14c88"), "order" : "QQ00002", "data" : "\"OK \""},{ "_id" : ObjectId("5d305be94857fc49c0c14c89"), "order" : "QQ00001", "data" : "\"OK \""}还可以写成:
db.dbtestregex.find({data:{ $regex:'
OK<\/Head>'}})其实现功能一样。
3.类关系型数据库中的 not like 功能实现
反向查询虽然不常见,但也是我们DBA必须的。下面我们做一个案例演示,看看在MongoDB中,怎么实现not like 功能的查询。
需求 查询data 字段中不含
OK的文档执行脚本如下:
db.dbtestregex.find({data:{ $not: /OK<\/Head>/ }})返回的文档如下;
{ "_id" : ObjectId("5d305b1c4857fc49c0c14c81"), "order" : "QQ00001", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b3b4857fc49c0c14c82"), "order" : "QQ00001", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b404857fc49c0c14c83"), "order" : "QQ00002", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b454857fc49c0c14c84"), "order" : "QQ00002", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b4b4857fc49c0c14c85"), "order" : "QQ00003", "data" : "\"ERR重复下单 \""},{ "_id" : ObjectId("5d305b4f4857fc49c0c14c86"), "order" : "QQ00003", "data" : "\"ERR重复下单 \""}感谢你能够认真阅读完这篇文章,希望小编分享的"MongoDB模糊查询操作的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
查询
字符
字符串
文档
篇文章
功能
正则
表达式
语法
演示
示例
分析
代码
作用
字段
数据
案例
结果
需求
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全防范的重点主要有
如何查找自己网站的数据库
建三国文化信息化数据库
2018网络安全大事件
品积互联网科技
网络安全教育文化
建立数据库的基本过程ppt
数据库的不等值连接
安卓数据库读写权限
汕头应用软件开发方案
全球很厉害的软件开发公司
c 定时播放数据库文件
数据库查询条件可以有中文吗
小米软件开发工程师薪资
100台电脑配置服务器
武汉米咖网络技术
衡水企悦网络技术有限公司
计算机网络技术需要什么学习软件
软件开发好还是建筑设计好
山东网络技术服务是真的吗
access 数据库限制
网站邮箱服务器
上海佳速网络技术
吉安游戏软件开发
地平线4连不进服务器
软件开发流程需求概念
php数据库删除恢复
互联网科技股泡沫大
穿越火线服务器版本区域
江干计算机网络技术咨询服务