$regex提供模糊查询字符串的正则表达式功能,MongoDB使用Perl兼容的正则表达式//通过条件搜索,支持用户名模糊搜索和分页findAdminByParamsAndPageHasFuzzy(params,pager){if(params.username){letpattern=newRegExp(params.username);params.username={$regex:pattern,$options:'imxs'};}if(params.orgname){letpattern=newRegExp(params.orgname);params.orgname={$regex:pattern,$options:'imxs'};}if(params.adminRoles){params.adminRoles=mongoose.Types.ObjectId(params.adminRoles);}AdminHandler.searchParamsClearEmptyValue(参数);返回Promise.all([adminModel.find(params,{password:0}).count().exec(),adminModel.find(params,{password:0}).sort({_id:-1}).填充(“adminRoles”).skip((pager.pageIndex-1)*pager.pageSize).limit(pager.pageSize).exec()])}RegExp对象用于存储检索模式。RegExp对象由new关键字定义。RegExp对象有3个方法:test()、exec()和compile()test()方法检索字符串中的指定值。返回值为真或假;exec()方法检索字符串中的指定值。返回值是找到的值。如果未找到匹配项,则返回nullvarpatt1=newRegExp("e");document.write(patt1.exec("Thebestthingsinlifearefree"));compile()方法用于改变RegExp。compile()可以改变检索方式,或者增减第二个参数;varpatt1=newRegExp("e");document.write(patt1.test("生活中最好的东西是免费的"));patt1.compile("d");document.write(patt1.test("生活中最好的东西是免费的"));
