当前位置: 首页 > news >正文

MongoDB--》文档查询的详细具体操作

目录

统计查询

分页列表查询

排序查询

正则的复杂条件查询

比较查询

包含查询

条件连接查询


统计查询

统计查询使用count()方法,其语法格式如下:

db.collection.count(query,options)
ParameterTypeDescription
querydocument查询选择条件
optionsdocument可选,用于修改计数的额外选项

接下来我往我空的集合 myTables 中添加如下数据,文章的讲解都是围绕着这些数据讲解:

db.myTables.insertMany([{"_id":"1","name":"张三","age":"18","gender":"男"},{"_id":"2","name":"李四","age":"28","gender":"男"},{"_id":"3","name":"王五","age":"38","gender":"女"},{"_id":"4","name":"陈六","age":"48","gender":"男"},{"_id":"5","name":"胡七","age":"58","gender":"女"}
])

使用 count  统计所有的记录数,默认情况下count()方法返回符合条件的所有记录数,如下:

按条件统计记录数,如下:

分页列表查询

可以使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数据的数据。基本格式:

db.collection.find().limit(number).skip(number)

如果想返回指定条数的记录,可以在find()方法后调用limit()来返回结果,比如自己想查看第一和第二条数据,如下:

如果想查看第三和第四条数据,需要我们越过第一和第二进行查看,如下:

排序查询

sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排序,而 -1 是用于降序排序。语法如下所示:

db.collection.find().sort({KEY:1})
或
db.集合名称.find().sort(排序方式)

举个例子,以年龄进行降序,如下:

正则的复杂条件查询

MongoDB的模糊查询是通过正则表达式的方式实现,正则表达式是js的语法,其格式为:

db.collection.find({field:/正则表达式/})
或
db.集合名称.find({字段:/正则表达式/})

比如我想查询名称为王五的数据,如下:

比如我想匹配任何 age 结尾为8的数据,如下:

比较查询

比较查询通过使用 < , <= , > , >= 这些符合进行操作,其基本格式如下:

db.集合名称.find( {"field" : {$gt : value}} ) // 大于:field > value
db.集合名称.find( {"field" : {$lt : value}} ) // 小于:field < value
db.集合名称.find( {"field" : {$gte : value}} ) // 大于等于:field >= value
db.集合名称.find( {"field" : {$lte : value}} ) // 小于等于:field <= value
db.集合名称.find( {"field" : {$ne : value}} ) // 不等于:field != value

 示例:查询年龄大于等于20的人的数据:

包含查询

包含使用 $in 操作符,如下:

不包含使用 $nin 操作符,如下:

条件连接查询

我们如果需要查询通俗满足两个以上条件,需要使用 $and 操作符将条件进行关联(相当于 SQL 中的 and)。其格式为:$and: [ {},{},{} ],举例如下:

如果两个以上条件之间是或者的关系,我们使用操作符进行关联,与前面 and 的使用方式相同的格式为:举例如下:

总结

查询所有数据:db.collection.find();

条件查询数据:db.collection.find({条件})
查询符合条件的第一条记录:db.collection.findOne({条件})
查询符合条件的前几条记录:db.collection.find({条件}).limit(条数)

查询符合条件的跳过的记录:db.collection.find({条件}).skip(条数)
修改数据:db.collection.update({条件},{修改后的数据}) 或 db.collection.update({条件},{$set:{要修改部分的字段:数据})
修改数据并自增某字段值:db.collection.update({条件},{$inc:{自增的字段:步进值}})

删除数据:db.collection.remove({条件})
统计查询:db.collection.count({条件})
模糊查询:db.collection.find({字段名:/正则表达式/})

条件比较运算:db.collection.find({字段名:{$gt:值]})
包含查询:db.collection.find({字段名:{$in:[值1,值2]}}) 或 db.collection.find({字段名:{$nin:[值1,值2]}])

条件连接查询:db.collection.find({$and: [{条件1},{条件2]]}) 或 db.collection.find({$or :[{条件1},{条件2}]})

相关文章:

MongoDB--》文档查询的详细具体操作

目录 统计查询 分页列表查询 排序查询 正则的复杂条件查询 比较查询 包含查询 条件连接查询 统计查询 统计查询使用count()方法&#xff0c;其语法格式如下&#xff1a; db.collection.count(query,options) ParameterTypeDescriptionquerydocument查询选择条件optio…...

网络协议(六):网络层

网络协议系列文章 网络协议(一)&#xff1a;基本概念、计算机之间的连接方式 网络协议(二)&#xff1a;MAC地址、IP地址、子网掩码、子网和超网 网络协议(三)&#xff1a;路由器原理及数据包传输过程 网络协议(四)&#xff1a;网络分类、ISP、上网方式、公网私网、NAT 网络…...

热启动预示生态起航的Smart Finance,与深度赋能的SMART通证

2023年初加密市场的回暖&#xff0c;意味着各个赛道都将在新的一年里走向新的叙事。最近&#xff0c;我们看到GameFi赛道也在市场回暖的背景下&#xff0c;逐渐走出阴霾。从融资数据上看&#xff0c;1月获得融资的GameFi项目共12个&#xff0c;融资突破8000万美元&#xff0c;1…...

提分必练,中创教育PMP全真模拟题分享

湖南中创教育每日五题分享来啦&#xff0c;“日日行&#xff0c;不怕千万里&#xff1b;常常做&#xff0c;不怕千万事。”&#xff0c;每日五题我们练起来&#xff01; 1、在系统测试期间&#xff0c;按已识别原因的类型或类别记录了失败测试的数量。项目经理首先需要从最大故…...

PID控制算法基础介绍

PID控制的概念 生活中的一些小电器&#xff0c;比如恒温热水器、平衡车&#xff0c;无人机的飞行姿态和飞行速度控制&#xff0c;自动驾驶等等&#xff0c;都有应用到 PID——PID 控制在自动控制原理中是一套比较经典的算法。 为什么需要 PID 控制器呢&#xff1f; 你一定用…...

Ajax 学习笔记

一、Ajax1.1 什么是AjaxAJAX Asynchronous JavaScript and XML(异步的JavaScript和XML)。Ajax是一种在无需加载整个网页的情况下&#xff0c;能够更新部分网页的技术&#xff0c;它不是一种新的编程语言&#xff0c;而是一种用于创建更好更快以及交互性更强的Web应用程序的技术…...

​力扣解法汇总1234. 替换子串得到平衡字符串​

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 有一个只含有 Q, W, E, R 四种字符&#xff0c;且长度为 n 的字符串。 假如在该…...

C++关键字之const、inline、static

C 关键字总结 1.const const是 constant 的缩写&#xff0c;本意是不变的、不易改变的意思。在C中用来修饰内置类型变量&#xff0c;自定义对象&#xff0c;成员函数&#xff0c;返回值&#xff0c;函数参数使用如下&#xff1a; //修饰普通类型变量 const int a 7; int ba;…...

【成为架构师课程系列】怎样进行概念架构(Conceptual Architecture)?

目录 前言 什么是概念架构 概念架构阶段的3个步骤 初步设计 高层分割 分层式概念服务架构 Layer:逻辑层 Tier: 物理层 按通用性分层 技术堆叠 考虑非功能需求 【禅与计算机程序设计艺术&#xff1a;更多阅读】 前言 胜兵先胜而后求战&#xff0c;败兵先站而后求胜。…...

PostgreSQL的下载安装教程(macOS、Windows)

postgresql是GIS服务端几乎不可避免要打交道的数据库。因为mysql的空间扩展真是不尽人意。所以想要学会GIS服务端知识,postgresql(下文简称pg)你是必须要会的。 首先要知道,pg是一个空间数据库,和普通数据库不同的是pg支持空间数据的存储与操作。这里所谓的空间数据一般指…...

98年的确实卷,公司新来的卷王,我们这帮老油条真干不过.....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …...

软件架构知识2-系统复杂度

架构设计的真正目的&#xff1a;是为了解决软件系统复杂度带来的问题&#xff0c;一个解决方案。 系统复杂度&#xff0c;如何入手&#xff1a; 1、通过熟悉和理解需求&#xff0c;识别系统复杂性所在的地方&#xff0c;然后针对这些复杂点进行架构设计。 2、架构设计并不是要…...

JavaSE学习day4_02 数组(超级重点)

3.数组 3.1什么是数组 数组就是存储数据长度固定的容器&#xff0c;存储多个数据的数据类型要一致。 3.2数组定义格式 3.2.1第一种&#xff08;常用&#xff09; 数据类型[] 数组名 示例&#xff1a; int[] arr; double[] arr; char[] arr; 3.2.2第二种(在…...

Theano教程:Python的内存管理

在写大型程序时候的一大挑战是如何保证最少的内存使用率。但是在Python中的内存管理是比较简单的。Python显示分配内存&#xff0c;使用引用计数系统管理对象&#xff0c;当指向某一个对象的引用数变为 0 的时候&#xff0c;该对象所占的内存就会被释放。理论上听起来很不错&am…...

Linux | Liunx安装Tomcat(Ubuntu版)

目录 一、下载并上传Tomcat压缩包到Ubuntu 1.1 下载并解压 1.2 执行 startup.sh 文件 二、验证Tomcat启动是否成功 2.1 查看启动日志 2.2 查看启动进程 三、Windows访问 Tomcat 服务 四、停止 Tomcat 服务 Tomcat是一款Web服务器&#xff0c;开发Web项目基本上都会用到…...

缓冲区浅析

缓冲区 程序运行输入数据时&#xff0c;从键盘的输入先存储到缓冲区&#xff0c;只有当缓冲区满或者输入回车时程序才会真正地从缓冲区读入数据 int main() {int a, b;cin >> a >> b;return 0; }in: 1 2\n 例如这里输入空格时程序没有输出&#xff0c;而是将空格…...

Day888.MySQL是怎么保证主备一致的 -MySQL实战

MySQL是怎么保证主备一致的 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于MySQL是怎么保证主备一致的内容。 MySQL 能够成为现下最流行的开源数据库&#xff0c;binlog 功不可没。 在最开始&#xff0c;MySQL 是以容易学习和方便的高可用架构&#xff0c;被开发人…...

互联网舆情监测系统的发展阶段,TOOM互联网舆情监测系统有哪些?

互联网舆情监测系统是一种利用计算机技术对互联网上的大量信息进行实时监测、分析和评估的工具&#xff0c;旨在了解公众对某一事件、话题或品牌等的态度、情感倾向和影响力等。通过对社交媒体、论坛、新闻媒体等多个渠道的数据采集和处理&#xff0c;系统能够实现舆情事件的追…...

GIT命令操作大全

文章目录一、前言二、工作模块2.1 Workspace&#xff1a;工作区2.2 Index / Stage&#xff1a;暂存区2.3 Repository&#xff1a;本地仓库2.4Remote&#xff1a;远程仓库三、GIT基本配置四、GIT项目代码管理4.1 初始化git仓库4.2 提交到暂存区(stage)4.3 将暂存区的文件恢复到工…...

突破传统开发模式,亚马逊云科技助力中科院加速推动合成生物学

当数字技术成为整个社会运行的底座&#xff0c;生物科学也能借力云计算从诸多繁琐重复的工作中解放出来&#xff0c;专注于生物设计与创新。来看看亚马逊云科技如何与TIBCAS合作&#xff0c;推动合成生物学的发展。 明确核心需求&#xff0c;选择合作伙伴 TIBCAS选择与亚马逊…...

分享开放通达信l2接口的过程,开发之后怎么使用?

随着互联网的不断进步&#xff0c;信息技术的不断发展&#xff0c;通达信l2接口技术逐步成熟。那么&#xff0c;这些开放通达信l2接口开发的过程是怎么样的呢?期间又会遇到什么问题&#xff0c;开放之后又会怎么使用呢&#xff1f;这篇文章带你深入了解。 通达信l2接口不像一…...

33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测

背景技术 老年人出门由于身体不灵活、视力较差&#xff0c;容易发生跌倒&#xff0c;现用的老年人跌倒报警装置是通过无线对讲系统研发的&#xff0c;它外观精美&#xff0c;自动化程度高&#xff0c;有很强的专业性&#xff0c;但是&#xff0c;设计者忽略了一个问题&#xf…...

【项目】基于SpringBoot+Freemarker+Mybatis+MySQL+LayUI实现CRM智能办公系统

这里写目录标题CRM基本概念CRM分类模块功能描述项目代码application-dev.yml部分页面代码CRM基本概念 圈内存在这么一句话&#xff1a;“世上本来没有 CRM&#xff0c;大家的生意越来越难做了&#xff0c;才有了 CRM。” 在同质化竞争时代&#xff0c;顾客资产尤为重要&#x…...

手写识别字体的步骤是什么?怎么识别图片中的文字?

手写识别字体的步骤是什么&#xff1f;怎么识别图片中的文字&#xff1f; 1. 打开信风工具网&#xff0c;点击拍照按钮&#xff0c;选择拍图识字模式&#xff0c;对准需要识别的文件进行拍摄&#xff61;在线工具地址&#xff1a; https://ocr.bytedance.zj.cn/image/ImageT…...

Mysql 存储过程

什么是存储过程&#xff1f; 存储过程是事先经过编译并存储在数据库的一段sql语句的集合 如何创建一个存储过程&#xff1f; create procedure 存储过程名称([参数列表]) beginsql语句; end#例 create procedure p1() beginselect * from t_goods;select * from t_user; end如…...

【LeetCode】每日一题(3)

目录 题目&#xff1a;1234. 替换子串得到平衡字符串 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 写在最后&#xff1a; 题目&#xff1a;1234. 替换子串得到平衡…...

websocket学习

1.什么是websocket 1&#xff09;首先websocket和http一样&#xff0c;是一种网络通信协议&#xff0c;来自HTML5的特性&#xff1b; 2&#xff09;他可以使客户端和服务端进行双工通信&#xff0c;简单来说&#xff0c;就是双向通信&#xff1a;比如我们熟悉的http协议&…...

Java面试题及答案整理汇总(2023最新版)

前言 面试前还是很有必要针对性的刷一些题&#xff0c;很多朋友的实战能力很强&#xff0c;但是理论比较薄弱&#xff0c;面试前不做准备是很吃亏的。这里整理了很多面试常考的一些面试题&#xff0c;希望能帮助到你面试前的复习并且找到一个好的工作&#xff0c;也节省你在网…...

公司来了个卷王,我愿称之为王中王,让人崩溃

前几天我们公司一下子也来了几个新人&#xff0c;这些年前人是真能熬啊&#xff0c;本来我们几个老油子都是每天稍微加会班就打算走了&#xff0c;这几个新人一直不走&#xff0c;搞得我们也不好走。2023年春招就要开始了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&…...

波奇学c语言:代码的编译和链接

test.c&#xff08;源文件&#xff09;->编译->test.obj&#xff08;目标文件&#xff09;->链接->test.exe&#xff08;可执行文件&#xff09;编译1.预编译&#xff08;预处理&#xff09;&#xff1a;text.c->text.i使用gcc -E test.c 进行停止预处理指令&am…...

模板建站服务公司/搜索引擎调词平台多少钱

前言 SpringSpringMVCMyBatiseasyUI整合进阶篇&#xff08;一&#xff09;设计一套好的RESTful APISpringSpringMVCMyBatiseasyUI整合进阶篇&#xff08;二&#xff09;RESTful API实战笔记(接口设计及Java后端实现)SpringSpringMVCMyBatiseasyUI整合进阶篇&#xff08;四&…...

wordpress 3.9 编辑文章 固定链接 不能编辑/宁波公司做网站

订单表 (order) |-- 自动编号&#xff08;order_id, 自增长主键&#xff09; |-- 订单单号&#xff08;order_no, 唯一值&#xff0c;供客户查询&#xff09; |-- 商店编号&#xff08;shop_id, 商店表自动编号&#xff09; |-- 订单状态 (order_status,未付款,已付款,已发货,已…...

织梦品牌集团公司网站模板(精)/南昌seo优化公司

扫描某文件夹下所有文件(包括子文件夹中的文件)&#xff0c;使用os.walk;os.walk()方法用于通过在目录树种游走输出在目录中的文件名&#xff0c;向上或者向下。移动复制文件通过os.rename方法&#xff0c;先进行文件是否存在判断&#xff0c;如需更加复杂相同文件判断可以根据…...

移动网站建设服务商/萝卜建站

Spark插入MongoDB出现的错误 解决方案: 1.确认是否在spark中配置了相关的库和表 2.检测是否出现1个以上的spark(我之前检查过配置都没有问题&#xff0c;demo也可以跑&#xff0c;但是我的离线用户画像却一直插入不进去。 仔细检查发现&#xff0c;我写了个sparkSession&am…...

国家城乡住房建设部网站首页/百度官方客户端

jquery[] jquery概念jquery是JS的框架。JS的函数库。【】BOMBOM&#xff1a;Browser Object ModelBOM对象&#xff1a;1.window&#xff1a;BOM根对象2.window.navigator 浏览器对象3.window.location : URL地址对象4.window.document: 文档对象。5.window.history 历史对象【】…...

wordpress 导出到pdf/如何免费建立一个网站

一般来说&#xff0c;通过反射是很难获得参数名的&#xff0c;只能取到参数类型&#xff0c;因为在编译时&#xff0c;参数名有可能是会改变的&#xff0c;需要在编译时加入参数才不会改变。 使用注解是可以实现取类型名&#xff08;或者叫注解名&#xff09;的&#xff0c;但是…...