博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB 正则表达式
阅读量:6677 次
发布时间:2019-06-25

本文共 1942 字,大约阅读时间需要 6 分钟。

示例

MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。

> db.col.find(){ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }{ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bc9e64799370c0ef358c"), "x" : "nothing" } > db.col.find({x:/world/}){ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] } > db.col.find({x:{$regex:"world"}}){ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }

上面后两种操作是等价的。

不区分大小写

> db.col.find({x:{$regex:"world", $options:"$i"}}){ "_id" : ObjectId("56c6bd9964799370c0ef358d"), "x" : "hihi WORLD" }{ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }

or

> db.col.find({x:/world/i}){ "_id" : ObjectId("56c6bd9964799370c0ef358d"), "x" : "hihi WORLD" }{ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }

数组使用正则表达式

> db.col.find({tags:/b/}){ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }{ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bedf64799370c0ef358e"), "tags" : [ "abc", "m" ] }

可见数组中包含字符‘b’的都找出来了(包括“abc”)。

正则中包含变量

需要用eval将组合的字符串进行转换

> v="world"world> db.col.find({x:eval("/" + v + "/i")}){ "_id" : ObjectId("56c6bd9964799370c0ef358d"), "x" : "hihi WORLD" }{ "_id" : ObjectId("56c6bbfe64799370c0ef358b"), "x" : "hi world", "tags" : [ "b" ] }{ "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", "tags" : [ "a", "b" ] }

 

转载地址:http://ghrxo.baihongyu.com/

你可能感兴趣的文章
mvc SelectList selected失效的解决方法
查看>>
JAVA 设计模式 中介者模式
查看>>
我的软件工程课目标
查看>>
var a={n:1}; var b=a; a.x=a={n:2}; console.log(a.x); console.log(b.x);
查看>>
【HDOJ】3016 Man Down
查看>>
window.open打开新页面,并将本页数据用过url传递到打开的页面;需要两个页面;...
查看>>
查看本机IP分为两种情况:
查看>>
Scala进阶之路-Scala特征类与unapply反向抽取
查看>>
洛谷P3057 [USACO12NOV]远处的牧场Distant Pastures
查看>>
hdu3415 Max Sum of Max-K-sub-sequence 单调队列
查看>>
6421B Lab2 DHCP的配置及故障排除
查看>>
[C# 基础知识梳理系列]专题一:深入解析委托——C#中为什么要引入委托
查看>>
FOSCommentBundle功能包:其它添加评论到页面的方法
查看>>
SQL Server 2012笔记分享-17:理解并设置文件表(FileTable)
查看>>
MongoDB运行状态、性能监控与分析
查看>>
Exchange 2016共享邮箱不保存已发送邮件的问题
查看>>
[C#基础知识系列]全面解析C#中静态与非静态
查看>>
SQL Server 2012笔记分享-40:自动维护索引
查看>>
【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
查看>>
Linux 学习_samba
查看>>