资讯专栏INFORMATION COLUMN

Mongoose 多条件模糊查询的实现

MycLambert / 1279人阅读

摘要:查阅了文档才得以实现特此记录一下。其中用于实现多条件查询,其值是一个数组。相关文档示例代码通过以上两个参数就可以实现多条件模糊查询了。

这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE "%keyword%" or email LIKE "%keyword%" 这种多条件模糊搜索的问题。 查阅了mongoose文档才得以实现,特此记录一下。

主要用到了query.$orquery.$regex这两个find参数。

其中query.$or用于实现多条件查询,其值是一个数组。相关文档

示例代码:

query.or([{ color: "red" }, { status: "emergency" }])

query.$regex用于实现模糊查询。相关文档

示例代码:

{ : { $regex: /pattern/, $options: "" } }
{ : /pattern/ }

通过以上两个参数就可以实现多条件模糊查询了。以User表为例,通过输入一个关键字,来匹配昵称或者邮箱与关键字相近的记录。

示例代码:

const keyword = this.params.keyword //从URL中传来的 keyword参数
const reg = new RegExp(keyword, "i") //不区分大小写
const result = yield User.find(
    {
        $or : [ //多条件,数组
            {nick : {$regex : reg}},
            {email : {$regex : reg}}
        ]
    },
    {
        password : 0
    },
    {
        sort : { _id : -1 },
        limit : 100
    }
)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18924.html

相关文章

  • Mongoose 条件模糊查询实现

    摘要:查阅了文档才得以实现特此记录一下。其中用于实现多条件查询,其值是一个数组。相关文档示例代码通过以上两个参数就可以实现多条件模糊查询了。 这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE %keyword% or email LIKE %keyword% 这种多条件模糊搜索的问题。 查阅了mongoose文档才得以实现,特此记录一下。 主要...

    terro 评论0 收藏0
  • Mongoose简要API

    摘要:是在环境下对进行便捷操作的对象模型工具因此,要使用,则必须安装环境以及数据库。使操作更简单便捷。找到记录,并且将递增,返回后的为之前的。这个属性很有用,对数字直接进行增减。,要返回的字段与的第二个参数一致。 Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具 因此,要使用mongoose,则必须安装node.js环境以及mongodb数据库。mongoo...

    王岩威 评论0 收藏0
  • mongoose(猫鼬)

    摘要:比如现在是第页,就跳过前页乘以每页条。按降序排序更新查询条件更改项目第三个参数设为只更新一个文档。更改文档某一条些数据再调用方法也可更新。删除查询条件其他常用的增删改查解读的一切都是从开始的。每个映射到集合,并定义该集合中的数据格式类型。 mongoose@5.2.13 快速入门 const mongoose = require(mongoose); /* 连接数据库 */ mong...

    ephererid 评论0 收藏0
  • 在node中mongodb及mongoose常见用法

    摘要:是在环境下对进行便捷操作的对象模型工具安装一开始需要安装环境以及数据库,然后创建数据文件夹并且启动安装启动。出错返回符合条件的文档数。修改后的标题同上取反,删除一个字段执行后字段不存在增减修改器,只对数字有效。 Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具 安装 一开始需要安装node.js环境以及mongodb数据库,然后创建mongdb数据文件...

    liuhh 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<