mongose 模糊检索实现方法示例详解

 更新时间:2023年08月18日 10:02:32   作者:freeman_Tian  
这篇文章主要为大家介绍了mongose 模糊检索实现方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

条件查找

$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 模糊检索的资料请关注程序员之家其它相关文章!

相关文章

  • Mongodb设置TTL索引自动清除数据与过期数据的方法

    Mongodb设置TTL索引自动清除数据与过期数据的方法

    今天小编就为大家分享一篇关于Mongodb设置TTL索引自动清除数据与过期数据的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • MongoDB系列教程(五):mongo语法和mysql语法对比学习

    MongoDB系列教程(五):mongo语法和mysql语法对比学习

    这篇文章主要介绍了MongoDB系列教程(五):mongo语法和mysql语法对比学习,本文对熟悉Mysql数据库的同学来说帮助很大,用对比的方式可以快速学习到MongoDB的命令,需要的朋友可以参考下
    2015-05-05
  • 高效mongodb的php分页类(不使用skip)

    高效mongodb的php分页类(不使用skip)

    这篇文章主要介绍了高效mongodb的php分页类,并且没有使用mongodb的skip来实现分页,需要的朋友可以参考下
    2014-05-05
  • Laravel?框架中使用?MongoDB?数据库的操作

    Laravel?框架中使用?MongoDB?数据库的操作

    这篇文章主要介绍了Laravel?框架中使用?MongoDB?数据库的问题及操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • MongoDB中连接字符串的编写

    MongoDB中连接字符串的编写

    MongoDB中字符串连接不区分大小写,并非所有MongoDB驱动都支持完整的连接字符串,不支持此格式连接字串的驱动会有替代连接方案,
    2015-05-05
  • Windows 10下安装最新版MongoDB的完整步骤

    Windows 10下安装最新版MongoDB的完整步骤

    这篇文章主要给大家介绍了关于在Windows 10下安装最新版MongoDB的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • mongo数据集合属性中存在点号(.)的解决方法

    mongo数据集合属性中存在点号(.)的解决方法

    这篇文章主要给大家介绍了关于mongo数据集合属性中存在点号(.)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • mongodb 查看数据库和表大小

    mongodb 查看数据库和表大小

    mongodb查看数据库和表的方法比较简单,在为这里推荐使用stats的方法,直观并且详细。
    2014-07-07
  • MongoDB中方法limit和skip的使用

    MongoDB中方法limit和skip的使用

    这篇文章主要给大家介绍了关于MongoDB中方法limit和skip的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • MongoDB数据库的特色和优点介绍

    MongoDB数据库的特色和优点介绍

    这篇文章主要介绍了MongoDB数据库的特色和优点介绍,本文总结了每个开发人员都应该知道的5个MongoDB特点,需要的朋友可以参考下
    2015-05-05

最新评论

?


http://www.vxiaotou.com