mongodb数据查询(进阶篇)

mongo同步-spring batch(8)的mongo读写组件使用 Spring Batch的读组件(`ItemReader`),处理组件(`ItemProcessor`),写组件(`ItemWriter`)支持丰富的数据类型,其中`MongoItemReader`及`MongoItemWriter`是针对mongo的读写组件,用户可以直接使用,进行`Mongodb`的数据读写操作 阅读详情

之前说了一些mongodb的最基本操作,但是就前面所学的还是应付不了常规的开发,例如模糊查询、范围查询、in查询、or查询等前面说的命令就不能实现这些功能,这次分享的东西比上次稍微复杂了点,但是只要认真学习下也能很好掌握。

1.查询时屏蔽某些字段

在某些查询中由于数据表的字段比较多,但是可能只需要用到其中几个字段,这时就可以使用这个功能了,如下所示:

find后面的花括号可以写条件,后面的花括号就是字段的一些限制了,上面的_id为0说明_id这个字段不要,如果为1表示要查询出该字段


2.范围查询

这一类的查询就类似关系型数据库的>,<,between....and等的使用,在mongodb中>用$gt,小于用$lt,大于等于是$gte,小于等于用$lte表示,下面这个查询用了取出年龄在16至20之间的学生信息



3.in/not in条件查询

对于mongodb类似in这样的关键字都有$修饰,来看看下面的查询,马上就知道in的使用了

如果是not in查询,也很简单如下所示:


4.ne查询

这种查询类似!=,但是mongodb没有提供类似eq这样的操作

这个语句查询的是name不为tom的学生信息


5.正则表达式查询

这种查询类似以前的模糊查询,也就是说查询条件是一个正则表达式

这个语句的意思是查询name以y结尾的学生信息,下面这个查询的是名字含有a的学生信息

mongodb的查询是不是很简单呢


6.or查询

这个查询的使用率就不多说了

这个是一个综合查询,意思是查询age为16,17或者name为tom的学生信息


下次要分享的内容是mongodb的聚合函数的使用。

Spring Boot中使用MongoDB聚合管道进行数据查询操作 在上面的代码中,我们使用Aggregation类创建了一个聚合管道查询,并使用$facet操作符进行分组。在上面的代码中,我们使用Aggregation类创建了一个聚合管道查询,并使用$lookup操作符将User集合中的"departmentId"字段与Department集合中的"_id"字段进行关联查询。在上面的代码中,我们使用Aggregation类创建了一个聚合管道查询,并使用$group操作符按照"age"字段进行分组,并使用count操作符计算每个年龄组的文档数量。操作符进行分组操作。 阅读详情

相关推荐

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

文章目录每篇前言一、安装pymongo库二、数据库操作1、连接数据库2、数据库操作3、集合操作4、插入文档插入一个文档插入多个文档插入指定 _id 的多个文档5、查看文档查询一条数据查询集合中所有数据查询指定字段的数据根据指定条件查询高级查询使用正则表达式查询返回指定条数记录6、修改文档修改一条修改全部7、删除数据输出一个文档删除多个文档删除集合中的所有文档删除集合8、排序升序降序 每篇前言 🏆🏆作者介绍:Python领域优质创作者、华为云享专家、阿里云专家博主、2021年优快云博客新星Top6 .

努力让自己发光,对的人才能迎着光而来 16万+

Mongodb常用查询

Mongodb是文档型数据库,每条数据为一个document记录,很多个文档记录组成一个集合(即:结构化数据库中的表)。数据库通过键、值来存储数据(即:字段、字段值),因为每条记录被存储在一个文档中,所以每条记录可以有不同的键,相同的键可以有不同数据类型的值,比如:age可以存储数:3,字符串:5岁。数据库的“键”的命名区分大小写、顺序,比如:name、Name是两个不同的键。Mongodb内嵌shell脚本,支持javascript语法。db是全局变量,通过shell访问数据库的入口。

ccysjy的博客 2万+

ANSYS Workbench实战:用网格自适应搞定超弹性橡胶大变形仿真(附避坑命令流)

本文深入探讨了ANSYS Workbench中超弹性橡胶大变形仿真的网格自适应技术,重点解析了混合U-P单元的应用、非线性自适应网格的实战技巧及材料模型选择的注意事项。通过具体案例和命令流示例,帮助工程师有效解决橡胶仿真中的收敛问题和网格畸变挑战,提升仿真精度和效率。

weixin_42666036的博客 303

mongodb中的in和notin的查询

项目中的枚举值,有在一个范围内查询,有不在一个范围中查询。 如果在一个范围中查询可以使用 {$in:["VM","STORAGE_EFS","STORAGE"]} 如果不在一个范围中的查询可以使用 {$nin:["VM","STORAGE_EFS","STORAGE"]} 完整的sql: db.getCollection('usages').find({"tenantId":1453580696349184000,"billingItem":{$nin:["VM","STORAGE_EFS","STOR

keyboard专栏 1万+

微信小程序实现锚点效果 scroll-view的scroll-into-view属性

小程序中实现锚点效果,可以直接使用scroll-view的scroll-into-view属性就可以实现锚点效果,比较方便简单。那么需要用到scroll-view那些参数呢,下面具体讲讲:效果展示: wxml **注意:**viewid值是动态的,通过setData设置即可。js wxss......

FaxMiao的博客 5447

告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程

本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。

weixin_33720956的博客 388

MongoDb 命令查询所有数据库和表

MongoDb 命令查询所有数据库列表 CODE: > show dbs 如果想查看当前连接在哪个数据库下面,可以直接输入db CODE: > db Admin 想切换到test数据库下面 CODE: > use test switched to db test > db Test 想查看test下有哪些表或者叫collection,可以输入 CODE: > show collect...

m0_48830183的博客 1万+

python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Tools-Options-HTTPS,如图1红框打钩,HTTPS旁边Connections配置,如图2红框打钩 1.2.再次点击HTTPS栏,点击Actions选择第二个…to ...

dbva7063的博客 1491

MongoDB 数据库 — 查询方法

接上篇,本篇专门整理 MongoDB 查询方法。 4 基本查询 你可以在数据库中使用 find 或者 findOne 函数来执行专门的查询; 你可以查询范围、集合、不等式,也可以使用 $-条件 执行更多的操作; 查询结果是一个数据库游标(cursor),当需要的时候返回你需要的文档。 你可以在 cursor 上执行许多元操作(metaoperations),包括 skipping 一定...

asa1234889的博客 449

实战:RK3568 Android14 调试 ES8388 音频驱动 (MIC 篇)

这个板子的MIC设计使用了硬件自动切换方案,极大简化了软件层面的逻辑。我们不需要根据耳机插拔事件去编写复杂的路由切换代码,只需要守住 LIN1/RIN1 这一个入口,配置好增益,剩下的交给那颗 SGM3157 芯片即可。祝您的录音功能调试顺利!

qq_33427070的博客 1676

汽车标定技术(七)--英飞凌TC3xx_Overlay实现页切换

今天说要开个专栏讲讲XCP标定,但在将标定之前,先把英飞凌专门为标定功能设计overlay功能讲解清楚。

认真搞搞汽车MCU 4014

Presto连接mongodb实现数据查询

presto连接mongodb实现数据查询 1.安装 1.1 拉取镜像 docker pull prestosql/presto 1.2 启动容器 docker run -p 8081:8081 --name presto prestosql/presto 上述端口自定义即可。如果想让其他主机连接该容器,需要打开8081端口的防火墙,命令如下: # firewall-cmd --zone=public --add-port=8081/tcp --permanent # firewall-cmd --re

xu2439645715的博客 2754

图形推理2-四大类六提示

图形推理笔记2

小y的学习笔记 6739

MongoDB 数据查询(经典查询命令例题合集)

数据查询 增加 persons 集合,执行 persons.json (附件)实现文档的插入,基于Library 数据库中的Media和Persons集合:load ("persons.json") 查询出所有 library 数据库中的media集合的数据 db.media.find() 查询出 persons 集合中所有数据的指定键(name,age,country) db.persons.find ( {, {_id:0,name:1,age:1,country:1}) 查询出所有 library

sjjsaaaa的博客 3454

51单片机 驱动有源/无源蜂鸣器+Proteus仿真

51单片机 驱动有源/无源蜂鸣器+Proteus仿真 相关篇《51单片机 Proteus仿真有源蜂鸣器始终不响原因及解决方法》 电路搭建 采用NPN管驱动有源蜂鸣器电路 采用PNP管驱动有源蜂鸣器电路 采用PNP管驱动无源蜂鸣器 采用NPN管驱动无源蜂鸣器 Proteus元器件列表 实例代码 /************************************************************************************* * 实验现象:下载程序

perseverance51博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MongoDB数据查询和聚合分析

文章目录2. MongDB数据查询语句与聚合分析2.1 MongoDB条件查询2.1.1 数组元素的匹配查询2.1.2 模糊匹配查询2.1.3 MongoDB数据查询嵌套数组文档2.2 映射Project与过滤2.3 去除重复Distinct2.4 分组统计Group By2.4.1 MongoDB聚合分析方式2.4.2 MongoDB聚合分组统计GroupBy2.4.2.1 MongoDB聚合分...

人生就是为了樱岛麻衣的博客 853

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MongoDB之数据查询

—引子 这次窝瓜为大家带来的是关于MongoDB之中,关于数据查询的部分。 众所周知,只要是数据库,对于查询这个功能,都是非常重要的,在这次给小伙伴们带来的,还有着一些比较零碎的知识点,希望能给初学的小伙伴一点帮助! 关系运算符详解: 运算符 含义 $gt 大于 $lt 小于 $gte 大于等于 $lte 小于等于 $ne 不等于 ktu:value 等于 ...

weixin_43754669的博客 503

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MongoDB 各种数据查询

文章目录基本查询数据where 筛选条件指定查询显示的列(key)排序结果集分页查询显示模糊查询高级查询等值查询多条件 and 查询多条件 or 查询非查询 $nor比较符 关于数据的查询,我单独写了一篇blog。 基本查询数据 代码 含义 db.t_user.find(); 列出表中所有数据 db.t_user.findOne(); 查询集合中的第一条数据 db.t_us...

董董的^数据空间 538

MongoDB 数据查询操作

目录 MongoDB 查询操作 实例 简介 find() 以及投影操作 关系运算查询(大于、小于、等于...) 模糊查询 范围查询($in,$nin) 逻辑运算查询(或者 $or、等于 $and、非或者 $nor 以及 $not) 存在查询(存在 $exists、null 查询) 嵌套查询以及 "$all"、"$size" 取模查询($mod) "$where" 查询 ...

Wayfreem的博客 2万+

MongoDB 数据查询

数据查询 基本查询 方法find():查询 db.集合名称.find({条件文档})    方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档})    方法pretty():将结果格式化 db.集合名称.find({条件文档}).pretty()    比较运算符 ...

anbingzhong1132的博客 100

MongoDB数据查询,分页,排序

MongoDB数据查询数据准备:persons.jsonvar persons = [{ name:"jim", age:25, email:"75431457@qq.com", c:89,m:96,e:87, country:"USA", books:["JS","C++","EXTJS","MONGODB"] }, { name:"tom"

世界那么大,我想去看看! 5476

MongoDB数据查询

mongodb的条件查询返回单条数据或多条数据以及数据的格式化输出

未知的无限可能 699

MongoDB集合数据查询

(1)查询所有记录 db.userInfo.find(); 相当于:select * from userInfo (2)查询去重后数据 db.userInfo.distince("name"); 相当于:select distinct name from userInfo; (3)查询age=22的记录 db.userInfo.find({"age",22}); 相当于:select * from userInfo where age=22 (4)查询age>22的记录 db.userInfo

weixin_44759289的博客 7564

MongoDB----数据查询 聚合操作

where: 使⽤$where后⾯写⼀个函数, 返回满⾜条件的数据// 查询年龄⼤于30的学⽣。

m0_53095312的博客 2605

mongodb千万级数据查询等待问题

0011_mongodb千万级数据查询等待问题 从师兄那里拿到一个数据库有上千万条数据,由于其存储格式有些不正规,于是发现正则查询一个里面不存在的数据需要大量时间 于是通过阅读源代码注释发现可以通过设置超时指标和抛出异常的方式跳过这些不存在的数据,以节省时间效率 # 查询relay是否在traceroute中 # 导入模块 import pymongo # 连接数据库 client = pymongo.MongoClient("mongodb://127.0.0.1:27017/") db = cli

github_38008340的博客 3869

mongoDB基础篇——NoSQL特性及MongoDB数据查询

在 【MongoDB基础篇——走进非关系型数据库mongoDB】和【MongoDB应用篇——面向集合的数据库操作】中,初步介绍了非关系型数据库MongoDB的基本结构和传统关系型数据库的区别,以及数据库的增删改查操作。 本文将进一步介绍MongoDB的特点,深入了解面向集合操作的数据库增删改查。 一、MongoDB特性 结合传统关系型数据库,我们从以下四个方面再度深入认识NoSQ

Think In JAVA—Max 4781
上一篇: groovy中List集合的使用
下一篇: 第一个Grails程序
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值