背景
Part1:写在最前
使用MySQL或其他关系型数据库的朋友们都知道,使用模糊查询的用法类似于:
使用$regex时,有以下几种用法:
查询匹配中使用了锚,例如^(代表开头)和$(代表结尾),以及匹配\n后的字符串
忽视所有空白字符
实战
Part1:$in中的用法
要在$in查询中包含正则表达式,只能使用JavaScript正则表达式对象(即/ pattern /)。 例如:
Warning:警告 $in中不能使用$ regex运算符表达式。Part2:隐式and用法
要在逗号分隔的查询条件中包含正则表达式,请使用$ regex运算符。 例如:
Warning:警告1.虽然/^a/,/^a.*/和/^a.*$/匹配等效字符串,但它们的性能是不一样的。如果有对应的索引,所有这些表达式就都使用索引;不过,/^a.*/和/^a.*$/较慢。 这是因为/^a/可以在匹配前缀后停止扫描。
2.不区分大小写的正则表达式查询通常不能使用索引,$regex无法使用不区分大小写的索引。
Part5:实例
一个商品的集合中,存了以下内容
总结通过这几个案例,我们能够了解到MongoDB中的regex用法,以及其可选参数$option每个选项的含义和用法。由于笔者的水平有限,编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。