• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MongoDB多条件模糊查询示例代码

    前言

    模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配。如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询。在关系型数据中,通过SQL使用like ‘%fens%'的语法。那么在mongodb中我们应该如何实现模糊查询的效果呢。

    查询条件

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

    模糊查询

    精准查询

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

    多条件模糊查询

    //Mongodb数据库表
    const systemUser = require('../../models/user');
    //前端传入的要查询的关键字
    var name = req.query.name;
    var page = req.query.page || 1; //当前页数
    var limitNums = 10; //指定每一页查询的条数
    page = parseInt(page);
    var skipNums = (page - 1) * limitNums; //跳过指定数量
    //正则匹配 i忽略大小写
    var reg = new RegExp(name, "i");
    var _filter = {
     //多字段匹配
     $or: [
      {name: {$regex: reg}},
      {description: {$regex: reg}},
      {owner: {$regex: reg}},
     ]
    }
    systemUser.find(_filter).
    //跳过指定数量的数据
    skip(skipNums).
    //指定从MongoDB中读取的记录条数。
    limit(limitNums).
    sort({createTime:-1}).
    exec(function(err,rs){}

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Thinkphp使用mongodb数据库实现多条件查询方法
    • 浅谈java实现mongoDB的多条件查询
    • .Net Core如何对MongoDB执行多条件查询
    • MongoDB正则表达式及应用
    • MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)
    上一篇:MongoDB 中聚合统计计算--$SUM表达式
    下一篇:MongoDB游标超时问题的4种解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MongoDB多条件模糊查询示例代码 MongoDB,多,条件,模糊,查询,