前言

模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配。如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询。在关系型数据中,通过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){}

mongodb多条件查询相关推荐

  1. MongoDB自定义条件查询案例

    MongoDB自定义条件查询案例

  2. mongodb java条件查询_java实现对mongodb,泛型封装增删查改、条件查询等操作

    本文实现一个通用泛型封装实现类,需要给定一个集合对象,类似mysql中与java对应的表:思想就是把给定的对象解析出所有非空字段,保存到一个BasicDBObject中,这里一定要保证java对象与m ...

  3. mongodb的条件查询笔记

    show databases; use usserdb.person.remove({})//删掉所有db.person.insert([{name:'zs', age:17, gender:'男'} ...

  4. mongodb distinct条件查询

    db.item.distinct('itemId',{recordTime:{$gte:'2019-08-05 14:00:00'}}).length 平常我们想要查某个指标有多少个不同的取值 但是有 ...

  5. mongodb java 多条件查询_MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)...

    MongoDB查询之高级操作 语法介绍 MongoDB查询文档使用find()方法,同时find()方法以非结构化的方式来显示所有查询到的文档. -- 1.基本语法 db.collection.fin ...

  6. mongodb java 多条件查询_MongoDB_Java连接mongo 使用Java多条件查询mongo数据

    在mongo shell中的查询语句是这样的.. db.user.find({"age":{"$gt":5,"$lt":14}})我们用Ja ...

  7. MongoDB多条件分组聚合查询

    MongoDB多条件分组聚合查询 1.样例数据 {"_id" : ObjectId("5fa13fb76c3107345a82c047"),"_cla ...

  8. mongorepository查询条件_Java操作MongoDB采用MongoRepository仓库进行条件查询 | 学步园...

    1.实体类: publicclassPersonimplementsSerializable{ /** * */ private static final long serialVersionUID  ...

  9. MongoDB 添加、查询(条件查询、排序、分页、返回指定字段)、修改、删除数据、聚合aggregate

    MongoDB内部支持JavaScript语法,使用SpiderMonkey作为内部的JavaScript解释器引擎. 1.常用命令 show databases:显示数据库列表 use:切换数据库 ...

最新文章

  1. js的变量作用域 ,变量提升
  2. mysql2014授权设置_SQLServer2014许可证(六)虚拟化中的授权
  3. 我们是如何做好前端工程化和静态资源管理 - 無雄 - 博客园
  4. World Wind Java开发之五——读取本地shp文件(转)
  5. 科沃斯扫地机器人阿尔法_科沃斯(Ecovacs)阿尔法地宝简单开箱
  6. anroid Sqlite批量插入数据优化方法
  7. JAVA的包装类 【转】
  8. SqlServer将特定字符串拆分并进行插入操作
  9. EasyRecovery14免费激活码序列号数据恢复软件 简体中文绿色直装版
  10. Render to Texture
  11. 平安京服务器维护,决战平安京无法登陆怎么解决 无法登陆原因及解决方案一览...
  12. Android安全攻防战,反编译与混淆技术完全解析(下)
  13. Python学习之CSDN21天学习挑战赛计划之2
  14. Golang线程池gpool
  15. 笔记本高分辨软件兼容问题,字体太小或模糊
  16. 解决 ORA-00913: too many values
  17. 没有水印的夸克免费扫描
  18. 2023年安徽省职业院校“磐云杯”网络安全竞赛任务书
  19. 推荐引擎上策略的步骤以及查bug的方法
  20. 交易员都是用什么方法盈利的?

热门文章

  1. java去掉的行_Java实现去掉每行的行号
  2. 同样是程序员,他转行在新加坡卖鱼走向巅峰!
  3. SouceInsight 快捷方式查看与修改
  4. ansible+ssh自动化运维
  5. TabHost和ActivityGroup用法
  6. 浅谈linux系统下常见的故障与处理方法
  7. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数
  8. Matlab 学习笔记
  9. 计算机设备的变化,这些年电脑桌上的变迁 篇一:设备的更迭
  10. c语言gc,使用C++制作GC Server过程详解