MongoDB如何利用正则表达式进行模糊查询?

2024年12月31日 建站教程

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。那么MongoDB如何利用正则表达式进行模糊查询?

$regex表达式

Query query = new Query();
query.addCriteria(Criteria.where("name").is("$regex", "^Mongo")); 

$regex操作符

Query query = new Query();
query.addCriteria(Criteria.where("name").regex("^Mongo")); 

$​regex的相关操作符

$options:设置regex选项,如忽略大小写。
$ignoreCase: 忽略大小写,等同于设置$options为”i”。
$nin:查询不匹配regex的文档。
$not:对任何操作符取反,如{$not: {$regex: /pattern/ }}。

相关代码示例:

// 忽略大小写
query.addCriteria(Criteria.where("name").regex("^mongo", "i"));

// not匹配
query.addCriteria(Criteria.where("name").not().regex("^mongo"));  

// $nin不匹配
query.addCriteria(Criteria.where("name").nin(new Regex("^mongo", "i")));

本文链接:http://so.lmcjl.com/news/20443/

展开阅读全文
相关内容