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

相关文章

  • MongoDB windows解压缩版安装教程详解

    MongoDB windows解压缩版安装教程详解

    这篇文章主要介绍了MongoDB windows解压缩版安装教程详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • MongoDB 查询操作的实例详解

    MongoDB 查询操作的实例详解

    这篇文章主要介绍了MongoDB 查询操作的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • MongoDB Remove函数的3个常见用法

    MongoDB Remove函数的3个常见用法

    这篇文章主要介绍了MongoDB Remove函数的3个常见用法,需要的朋友可以参考下
    2014-05-05
  • CentOS7下安装MongoDB数据库过程

    CentOS7下安装MongoDB数据库过程

    大家好,本篇文章主要讲的是CentOS7下安装MongoDB数据库过程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • mongodb 3.2.5安装详细过程

    mongodb 3.2.5安装详细过程

    这篇文章主要介绍了mongodb 3.2.5安装过程详细记录,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • MongoDB搭建高可用集群的完整步骤(3个分片+3个副本)

    MongoDB搭建高可用集群的完整步骤(3个分片+3个副本)

    这篇文章主要给大家介绍了关于MongoDB搭建高可用集群(3个分片+3个副本)的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • MongoDb优化指南

    MongoDb优化指南

    在大数据时代中,大数据量的处理已经成了考量一个数据库最重要的原因之一。这篇文章给大家分享MongoDb优化指南,感兴趣的朋友一起看看吧
    2018-11-11
  • MongoDB数据更新方法干货篇

    MongoDB数据更新方法干货篇

    之前给大家分享了MongoDB中数据查询的相关方法和技巧,那么下面这篇文章主要给大家介绍了MongoDB中数据更新方法的相关资料,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • NoSQL反模式 - 文档数据库篇

    NoSQL反模式 - 文档数据库篇

    我们设计关系数据库Schema的都有一套完整的方案,而NoSQL却没有这些。半年前笔者读了本《SQL反模式》的书,觉得非常好。就开始留意,对于NoSQL是否也有反模式?好的反模式可以在我们设计Schema告诉哪里是陷阱和悬崖。
    2014-08-08
  • MongoDB安装图文教程

    MongoDB安装图文教程

    这篇文章主要为大家详细介绍了MongoDB安装图文教程,分为两大部分为大家介绍下载MongoDB和安装MongoDB的方法,感兴趣的小伙伴们可以参考一下
    2016-07-07

最新评论