mongose 模糊检索实现方法示例详解
更新时间:2023年08月18日 10:02:32 作者:freeman_Tian
这篇文章主要为大家介绍了mongose 模糊检索实现方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
条件查找
$regex为模糊查询的字符串提供正则表达式功能,MongoDB使用Perl兼容正则表达式
//通过条件查找,支持username模糊搜索并分页
findAdminByParamsAndPageHasFuzzy(params, pager) {
if (params.username) {
let pattern = new RegExp(params.username);
params.username = {
$regex: pattern,
$options: 'imxs'
};
}
if (params.orgname) {
let pattern = new RegExp(params.orgname);
params.orgname = {
$regex: pattern,
$options: 'imxs'
};
}
if (params.adminRoles) {
params.adminRoles = mongoose.Types.ObjectId(params.adminRoles);
}
AdminHandler.searchParamsClearEmptyValue(params);
return Promise.all([
adminModel.find(params, { password: 0 }).count().exec(),
adminModel.find(params, { password: 0 }).sort({
_id: -1
}).populate("adminRoles").skip((pager.pageIndex - 1) * pager.pageSize).limit(pager.pageSize).exec()
])
}RegExp 对象
RegExp 对象用于存储检索模式。通过 new 关键词来定义 RegExp 对象
RegExp 对象有 3 个方法:test()、exec() 以及 compile()
- test() 方法检索字符串中的指定值。返回值是 true 或 false;
- exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));- compile() 方法用于改变 RegExp。compile() 既可以改变检索模式,也可以添加或删除第二个参数;
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));以上就是mongose 模糊检索实现示例详解的详细内容,更多关于mongose 模糊检索的资料请关注脚本之家其它相关文章!
相关文章
Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍
这篇文章主要介绍了Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍的相关资料,这里对安装步骤进行了详解,需要的朋友可以参考下2016-12-12
MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例
今天小编就为大家分享一篇关于MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-10-10


最新评论