首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MongoDB模糊查询($regex查询、正则表达式匹配查询)

MongoDB模糊查询($regex查询、正则表达式匹配查询)

作者头像
全栈程序员站长
发布于 2022-08-23 10:43:46
发布于 2022-08-23 10:43:46
14.5K0
举报

大家好,又见面了,我是你们的朋友全栈君。

MongoDB的模糊查询可以使用 $regex 运算符通过正则表达式来进行匹配查询。
$regex :为查询中的模式匹配字符串提供正则表达式功能 。
语法:

{ < field >: { $ regex : / pattern / , $ options : ‘’ } }

{ < field >: { $ regex : ‘pattern’ , $ options : ‘’ } }

{ < field > : { $ regex : / pattern / < options > } }

(上面三种写法任选其一)

示例:

一、某文档包含某字段的模糊查询: 使用 sql 的写法 select * from member where name like '%XXX%'mongodb中: db.member.find({"name":{ $regex:/XXX/ }})

二、查询以某字段为开头的文档 db.member.find({"name":{$regex:/^XXX/}})

三、查询以某字段为结尾的文档 db.member.find({"name":{$regex:/XXX^/}})

四、查询忽略大小写 db.member.find({"name":{$regex:/XXX/i}})

这里的 i 就是指最上面语法中的那个 options 的值 i 是其的一个选项,代表忽略大小写的意思。 这里 options 还有以下几个选项供使用:

选项

描述

语法限制

i

不区分大小写以匹配大小写的情况。

m

对于包含锚点的模式(即^,对于开始, $结束),在每行的开头或结尾处匹配具有多行值的字符串。如果没有此选项,这些锚点将在字符串的开头或结尾处匹配,如果模式不包含锚点或者字符串值没有换行符(例如\n),则该m选项无效。

x

$regex除非转义或包含在字符类中,否则“扩展”功能可忽略模式中的所有空格字符。 此外,它会忽略中间的字符,包括未转义的hash / pound(#)字符和下一个新行,以便您可以在复杂模式中包含注释。这仅适用于数据字符; 空格字符可能永远不会出现在模式中的特殊字符序列中。 该x选项不影响VT字符的处理(即代码11)。

需要$regex与$options语法

s

允许点字符(即.)匹配包括换行符在内的所有字符。有关示例,请参阅使用。点匹配新线。

需要$regex与$options语法

注意:不能在$regex里面使用运算符表达式 $in;

还有:如果模糊查询的字段存在索引的话,查询速度会更快。

更多内容可以查阅MongoDB的官方文档,点击查看

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139141.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用元素法简单解答空间几何体问题——高等数学
相信很多人初学的时候和我一样对这种三维空间的几何体计算方面有困难。我也曾百度过关于几何体体积/表面积的求法,但是始终不是很明白百度上的那种方法。这篇文章让你彻底理解这个万能的几何思想:“元素法”
全栈程序员站长
2022/06/26
9590
利用元素法简单解答空间几何体问题——高等数学
圆柱表面积公式计算器_根据体重体表面积计算公式
多面体的体积和表面积:有立方体计算公式、长方体∧棱柱∨计算公式、三棱柱计算公式、棱锥计算公式、棱台计算公式、圆柱和空心圆柱∧管∨计算公式、斜线直圆柱计算公式、直圆锥计算公式、圆台计算公式、球计算公式、球扇形∧球楔∨计算公式、球缺计算公式、圆环体∧胎∨计算公式、球带体计算公式、桶形计算公式、椭球体计算公式、交叉圆柱体计算公式、梯形体计算公式等。
全栈程序员站长
2022/09/29
1.3K0
数学公式定理
当lim(α/β)=0 时,则称α是β的高阶无穷小.即两个无穷小都趋于0时,α比β趋于 0 更快;
zhangjiqun
2024/12/16
1020
数学公式定理
22届考研模拟卷(公共数学二)汇总
现在是 2022-1-1,我简单的点评一下今年各位老师的出卷,如果读者想刷这一年的,可以作为参考
一只野生彩色铅笔
2022/09/20
3.6K0
22届考研模拟卷(公共数学二)汇总
三角函数公式和图像大全[通俗易懂]
a2-b2=(a+b)(a-b) a3+b3=(a+b)(a2-ab+b2) a3-b3=(a-b)(a2+ab+b2)
全栈程序员站长
2022/11/04
16.3K0
三角函数公式和图像大全[通俗易懂]
圆台侧面积和体积公式的推导过程_圆台体积公式和表面积
  取微小一段函数可近似看成直线方程,绕x轴旋转一周得到一圆台,那么,旋转面面积就可近似为所有微小圆台的侧面积之和。取n趋于无穷时的极限便可得到旋转曲面的面积。
全栈程序员站长
2022/09/20
5.2K0
圆台侧面积和体积公式的推导过程_圆台体积公式和表面积
从不定积分到斯托克斯公式
学完高数的人都知道,我的标题其实是写了涵盖了所有的积分学知识。主要是整理内容,串成一条线。初读书很厚,读到现在又很薄。
云深无际
2024/10/29
1880
从不定积分到斯托克斯公式
深入理解渲染方程
在图形学入门(三):基础着色中,我们讨论了 Phong 反射模型,当时我们提到过 Phong 反射模型不是一个物理模型,而是一个经验模型,这意味着这个模型对光照效果的模拟是不准确的。即便在简单情况下它能近似出一些不错的效果,但随着场景的复杂度提升(例如复杂的光照、复杂的材质等),要想继续用 Phong 反射模型达到很强的真实感就变得越来越困难。例如下面的这幅图1中,士兵和长官的铠甲上都投影出了电梯里非常复杂的灯光,在后面的长官的铠甲上还能看到前面两个士兵的投影:
zhiruili
2021/08/10
2.2K0
深入理解渲染方程
用Julia学习微积分:这有一份高赞数学教程 | 附习题+代码
以快速简洁闻名Julia,本身就是为计算科学的需要而生。用它来学习微积分再合适不过了,而且Julia的语法更贴近实际的数学表达式,对没学过编程语音的初学者非常友好。
量子位
2019/05/17
1.6K0
用Julia学习微积分:这有一份高赞数学教程 | 附习题+代码
微积分的发现是人类精神的最高胜利
在一切理论成就中,未必再有什么像17世纪下半叶微积分的发现那样被看作人类精神的最高胜利了,如果在某个地方我们看到人类精神的纯粹的和唯一的功绩,那正是在这里。——恩格斯
程序员小猿
2021/01/19
5630
向量微积分一文速通:从曲线积分到曲面积分
文章很短也很长,两类积分,在曲线和曲面上,四种类型,分别在标量和矢量情况下。三个定理,格林,高斯,斯托克斯。以及完整的微积分基本定理,在低维和高维之间互相连通。不管怎么说,会不会算,那是计算问题,如果不会区分,那是真没学会。
云深无际
2024/12/03
5540
向量微积分一文速通:从曲线积分到曲面积分
漫步微积分三十四——体积计算:圆柱壳法
为了理解这种方法,考虑图1左边所示的区域,也就是,第一象限数轴和所示示曲线 y=f(x) y=f(x)围成的区域。如果这个区域绕 x x轴旋转,那么图中的垂直窄带生成一个圆盘,我们能够从 x=0 x=0到 x=b x=b区间上积分这些圆盘的体积得到总体积。当然,这是上篇文章中描述的圆盘法。然而,如果区域绕 y y轴旋转,就像图中间的那样,那么我们获得完全不同的物体,垂直窄带产生了很薄的圆柱壳。这个壳可以看做一个罐头,只是其顶部和底部已被去掉,或者很薄的纸板。其体积 dV dV本质上是内圆柱表面积 (2πxy) (2\pi xy)乘以厚度 (dx) (dx),所以
全栈程序员站长
2022/06/26
2.5K0
漫步微积分三十四——体积计算:圆柱壳法
有限元法(FEM)
空间和时间相关问题的物理定律通常用偏微分方程(PDE)来描述。对于绝大多数的几何结构和所面对的问题来说,可能无法求出这些偏微分方程的解析解。不过,在通常的情况下,可以根据不同的离散化 类型来构造出近似的方程,得出与这些偏微分方程近似的数值模型方程,并可以用数值方法求解。如此,这些数值模型方程的解就是相应的偏微分方程真实解的近似解。有限元法(FEM)就是用来计算出这些近似解的。
技术客
2022/05/19
2.1K0
一文速通多元函数.上
一个变量的世界研究明白没有?不明白就不明白吧,无所谓的。没有多元函数的微积分是不完美的,真的几个学科转下来,真的不一样,想法就不一样。
云深无际
2024/08/21
1370
一文速通多元函数.上
蒙特卡罗(Monte Carlo)方法——从数学原理到实际案例
Monte Carlo方法是一种应用随机数来进行计算机模拟的方法,通过对所研究系统进行随机观察抽样并对样本值进行统计分析,来得到所研究系统的某些参数。
mindtechnist
2025/05/15
8420
蒙特卡罗(Monte Carlo)方法——从数学原理到实际案例
数值计算用Matlab?不,用python | 技术创作特训营第一期
作为理工科的社畜,懂计算会计算是一个必不可少的技能,其中尤其是对于土木工程人来说,结构力学、弹塑性力学、计算力学是数值计算中无法逾越的一道坎。由于Matlab简单使用,好学好操作,工科人往往都喜欢使用Matlab来实现数值算法。但是Matlab有几个缺点:
EatRice
2023/08/11
9700
数值计算用Matlab?不,用python | 技术创作特训营第一期
武忠祥老师每日一题|第304 - 319题
证明极限的存在性: 1. 单调有界准则(抽象型函数) 2. 夹逼准则(具体型函数)
一只野生彩色铅笔
2022/09/20
1.4K0
瞎扯数学分析——微积分(大白话版)
公理体系的例子,想说明人类抽象的另外一个方向:语言抽象(结构抽象已经在介绍伽罗华群论时介绍过)。 为了让非数学专业的人能够看下去,采用了大量描述性语言,所以严谨是谈不上的,只能算瞎扯。 现代数学基础有三大分支:分析,代数和几何。这篇帖子以尽量通俗的白话介绍数学分析。数学分析是现代数学的第一座高峰。 最后为了说明在数学中,证明解的存在性比如何计算解本身要重要得多,用了两个理论经济学中著名的存在性定理(阿罗的一般均衡存在性定理和阿罗的公平不可能存在定理)为例子来说明数学家认识世界和理解问题的思维方式,以及存在性的重要性:阿罗的一般均衡存在性,奠定了整个微观经济学的逻辑基础--微观经济学因此成为科学而不是幻想或民科;阿罗的公平不可能存在定理,摧毁了西方经济学界上百年努力发展,并是整个应用经济学三大支柱之一的福利经济学的逻辑基础,使其一切理论成果和政策结论成为泡影。
Ai学习的老章
2021/02/05
2.1K0
C# 入门深度学习:万字长文讲解微积分和梯度下降
由于学习微积分需要一定的基础知识,但是由于本教程不是数学书,所以不能一一详细介绍基础知识,读者需要自行了解学习初等函数、三角函数等基础知识。
痴者工良
2025/03/26
930
C# 入门深度学习:万字长文讲解微积分和梯度下降
刚体力学整理
质点:一个有质量的几何点,忽略其大小、形状及内部结构的影响,在空间只占据一个点的位置。它是对实际研究对象的简化,理想模型。
算法之名
2023/10/16
1.2K0
刚体力学整理
推荐阅读
相关推荐
利用元素法简单解答空间几何体问题——高等数学
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档