【MongoDB系列】多条件模糊查询

查询条件

  • $or 或关系
  • $nor 或关系取反
  • $gt 大于
  • $gte 大于等于
  • $lt 小于
  • $lte 小于等于
  • $ne 不等于
  • $in 在多个值范围内
  • $nin 不在多个值范围内
  • $all 匹配数组中多个值
  • $regex 正则,用于模糊查询
  • $size 匹配数组大小
  • $mod 取模运算
  • $exists 字段是否存在
  • $elemMatch 匹配内数组内的元素
  • $within 范围查询(基于LBS)
  • $maxDistance 范围查询,距离(基于LBS)
  • $near 邻域查询,查询附近的位置(基于LBS)
  • $box 范围查询,矩形范围
  • $center 范围查询,圆形范围
  • $centerSphere 范围查询,球形范围
  • $slice 查询字段集合中的元素(比如从第几个之后,第N到第M个元素)

模糊查询

精准查询

// Mongodb数据库表
const systemUser = require('../models/user'); 
systemUser.find({name:'lihua'}).exec(function(err,rs){}

多条件模糊查询

请注意,MongoDB的的模糊查询是通过正则表达式实现的,对应mongodb中,可以直接使用 /../ 斜杠。 但是在nodejs中,必须要使用 RegExp,来构建正则表达式对象。

// Mongodb数据库表
const systemUser = require('../models/user');
//前端传入的要查询的关键字
const name = req.query.name;
//正则匹配 i忽略大小写
const reg = new RegExp(name, "i");
const query = {
    //多字段匹配
    $or: [
        {name: {$regex: reg}},
        {description: {$regex: reg}},
        {owner: {$regex: reg}},
    ]
}
systemUser.find(query).exec(function(err,rs){}

文章作者: 小森森
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小森森博客
博客 数据库
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝