MongoDB模糊查询操作的示例分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了MongoDB模糊查询操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.作用与语法描述作用: 正则表达
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
新华互联网科技
互联网科技巨头监管
科技互联网龙头
重庆互联网络科技
互联网络科技有限公司
华宇互联网科技
杭州互联网科技公司
润盈互联网科技
互联网金融 科技创新
互联网科技公司名称
互联网科技类展会
恒生科技互联网指数分析
重庆互联网医院沙龙医盟信息科技
南博望互联网科技有限公司
工业互联网山东科技大学
高科技互联网套路
互联网对科技影响
数字科技和互联网金融哪个好
科技互联网企业在行动
如何强化互联网金融科技
上海挚品互联网科技
杭州互联网科技公司
卓越科技(互联网 )
易通互联网络科技有限公司
人人互联网科技是培训
天速互联网络科技有限公司
广州有谷有贝互联网科技有限公司
神州科技互联网有限公司
云南互联网科技学费
高科技和互联网的现代国家