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){}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
相关推荐
-
Java操作mongodb的模糊查询和精确查询
本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题. 精确查询:模糊查询:分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于:且,或,某个字段不为空,某个字段不存在,查询在某个范围内,删除等等查询. 一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is 精确匹配,模糊匹配 使用regex...) public PageUrl getByUrl(String url) { return findOne(
-
Java操作MongoDB模糊查询和分页查询
本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下 模糊查询条件: 1.完全匹配 Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE); 2.右匹配 Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSITIVE); 3.左匹配 Pattern pattern =
-
Golang Mongodb模糊查询的使用示例
前言 在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如: db.article.find({"title": {$regex: /a/, $options: "im"}}) 这是我们常用Mongodb的命令行使用的方式,但是在mgo中做出类似的方式视乎是行不通的: query := bson.M{"title": bson.M{"$regex": "/a/", "$opt
-
Node.js对MongoDB数据库实现模糊查询的方法
前言 模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配.如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询.在关系型数据中,通过SQL使用like '%fens%'的语法.那么在mongodb中我们应该如何实现模糊查询的效果呢. 目录 mongodb模糊查询 nodejs通过mongoose的模糊查询 1. mongodb模糊查询 我们打开mongodb,以name文字字段进行测试. 精确查询 当{'name':'未来警察'}时,精确匹配到一条记录.
-
Python操作mongodb数据库进行模糊查询操作示例
本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re from pymongo import MongoClient #创建连接 #10.20.66.106 client = MongoClient('10.20.4.79', 27017) #client = MongoClient('10.20.66.106', 27017) db_name = '
-
Java操作MongoDB插入数据进行模糊查询与in查询功能
由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Object类型缓存 * @author shijing * @param param * @param sysGuid */ public void setObjData(Map<String,Object> param, String sysGuid, String enumBpd){ DBObject dbObject = new BasicDBObject
-
在php7中MongoDB实现模糊查询的方法详解
前言 在实际开发中, 有不少的场景需要使用到模糊查询, MongoDB shell 模糊查询很简单: db.collection.find({'_id': /^5101/}) 上面这句就是查询_id以'5101'开始的内容. 在老的MogoDB中模糊查询挺简单的,这里简单记录下模糊查询的操作方式: 命令行下: db.letv_logs.find({"ctime":/uname?/i}); php操作 $query=array("name"=>new Mongo
-
MongoDB模糊查询操作案例详解(类关系型数据库的 like 和 not like)
1.作用与语法描述 作用: 正则表达式是使用指定字符串来描述.匹配一系列符合某个句法规则的字符串.许多程序设计语言都支持利用正则表达式进行字符串操作.MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式. 语法一 { <field>: { $regex: /pattern/, $options: '<options>' } } { <field>: { $regex: 'pattern', $options: '<options>' } }
-
MongoDB多条件模糊查询示例代码
前言 模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配.如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询.在关系型数据中,通过SQL使用like '%fens%'的语法.那么在mongodb中我们应该如何实现模糊查询的效果呢. 查询条件 关键字 说明 $or 或关系 $nor 或关系取反 $gt 大于 $gte 大于等于 $lt 小于 $lte 小于等于 $ne 不等于 $in 在多个值范围内 $nin 不在多个值范围内 $all 匹配数组中多个值
-
SqlServer使用 case when 解决多条件模糊查询问题
我们在进行项目开发中,经常会遇到多条件模糊查询的需求.对此,我们常见的解决方案有两种:一是在程序端拼接SQL字符串,根据是否选择了某个条件,构造相应的SQL字符串:二是在数据库的存储过程中使用动态的SQL语句.其本质也是拼接SQL字符串,不过是从程序端转移到数据库端而已. 这两种方式的缺点是显而易见的:一是当多个条件每个都可为空时,要使用多个if语句进行判断:二是拼接的SQL语句容易产生SQL注入漏洞. 最近写数据库存储过程的时候经常使用case when 语句,正好可以用这个语句解决一下以上问
-
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
对于这个功能企业上还算比较实用,推荐给大家: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <style> *{margin:0;padding:0;} .text{width:200px;height:30px;line-height:30px;font-size:14px;outline:none;} ul{wid
-
springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能
完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能,内容如下所示: 调用接口Controller类 @ApiOperation("查询列表") @PostMapping("/selectList") public Result selectList(@RequestBody User_InfoListRequest us
-
asp.net利用存储过程实现模糊查询示例分享
复制代码 代码如下: USE [TestDB]GO /****** Object: Table [dbo].[tblCustomer] Script Date: 01/18/2014 22:01:53 ******/SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO CREATE TABLE [dbo].[tblCustomer]( [id] [int] IDENTITY(1,1) NOT NULL, [name] [nvarchar](100)
-
Java异常退出条件的判断示例代码
无论是功能性代码还是算法性代码,程序都是一系列流程的合集 既然是流程就分为:一般流程和异常流程: 一般流程保证了基本功能: 异常流程则是对程序稳定性的保证,不能因为一些非法输入,项目就挂了: 注意,布尔表达式的先后顺序,有时不可以交换 if (null == instance || instance.isEmpty()) 0. 常见异常退出条件 参数为空: 表示长度,表示索引的整型为负数,或者超出待索引数组或容器的范围: 1. String 的 startsWith 函数 首先来看 String
-
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
def find_worldByName(c_name,continent): print(c_name) print(continent) sql = " SELECT * FROM world WHERE 1=1 " if(c_name!=None): sql=sql+"AND ( c_name LIKE '%"+c_name+"%' )" if(continent!=None): sql=sql+" AND ( continent
-
java基于mongodb实现分布式锁的示例代码
目录 原理 实现 使用 原理 通过线程安全findAndModify 实现锁 实现 定义锁存储对象: /** * mongodb 分布式锁 */ @Data @NoArgsConstructor @AllArgsConstructor @Document(collection = "distributed-lock-doc") public class LockDocument { @Id private String id; private long expireAt; privat
随机推荐
- VBS教程:属性-Path 属性
- vue中使用localstorage来存储页面信息
- 什么是网页安全色与216网页安全色
- 华众HZHOST虚拟主机管理系统服务器IP更换详细步骤说明
- java实现Object和Map之间的转换3种方式
- iOS获取网络类型的方法汇总
- iOS UITableView 拖动排序实现代码
- asp.net操作javascript:confirm返回值的两种方式
- IOS 中UIKit-UIPageControl利用delegate定位圆点位置
- PHP钩子与简单分发方式实例分析
- javascript实用小函数使用介绍
- Laravel中日期时间处理包Carbon的简单使用
- python基于urllib实现按照百度音乐分类下载mp3的方法
- Python def函数的定义、使用及参数传递实现代码
- python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
- 关于javascript event flow 的一个bug详解
- windows下Apache+MySql+PHP3+PHP4+PERL安装配置
- 谈PHP生成静态页面分析 模板+缓存+写文件
- Git 教程之基本操作详解
- 解析php mysql 事务处理回滚操作(附实例)