3.MongoDB系列之查询
1. find简介
// 查询所有文档
db.users.find({})
// 查询指定条件文档
db.users.find({'name': 'shenjian'})
// 查询指定字段,1查询键 0剔除键
db.users.find({'name': 'shenjian'}, {'name': 1, '_id': 0})
2. 查询条件
// 范围查询$gte大于等于
db.users.find({'age': {$gte: 27, $lt: 50}})
// 等于$eq 不等于$ne
db.users.find({'age': {$ne: 27}})
// in查询 $in $nin
db.users.find({'name': {$in: ['shenjian', 'domi']}})
// 求余查询 取对26取余数为1的值,入age=27
db.users.find({'age': {$mod: [26, 1]}})
db.users.find({'age': {$not: {$mod: [26, 1]}}})
3. 特定类型查询
// 查询age为null或者不存在该字段的文档
db.users.find({'age': null})
// 仅查询存在字段age且值为null的文档
db.users.find({'age': {$eq: null, $exists: true}})
// 正则表达式
db.users.find({'name': {$regex: /shen*/}})
4. 查询数组
db.food.insertMany([{'_id': 1, 'fruit': ['apple', 'banana', 'peach']},
{'_id': 2, 'fruit': ['apple', 'kumquat', 'orange']},
{'_id': 3, 'fruit': ['cherry', 'banana', 'apple']}])
// $all查询数组中同时包含apple、banana的文档
db.food.find({'fruit': {$all: ['apple', 'banana']}})
// 查询指定数组长度的文档
db.food.find({'fruit': {$size: 3}})
// 查询数组中前2条评论
db.users.find({}, {'comments': {$slice: 2}})
// 返回匹配的一个文档
db.users.find({'comments.name': 'liuyifei'}, {'comments.$': 1})
// 查询数组中指定条件的文档
db.users.find({'comments': {$elemMatch: {'name': 'liuyifei', 'like': 100}}})
// 限制返回数量
db.users.find({}).limit(1)
// 跳过文档
db.users.find({}).skip(1)
// 排序
db.users.find({}).sort({'age': 1})
3.MongoDB系列之查询的更多相关文章
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MongoDB 系列文章
MongoDB 系列文章 本文的内容是基于 MongoDB 4.0 的. 参考于 MongoDB 4.0 官方文档. 搭建 MongoDB从搭建到优化 MongoDB-副本集搭建与管理 管理 Mong ...
- mongodb系列之-治理mongodb->db.currentOp()
mongodb系列之-管理mongodb->db.currentOp() 管理mongodb->db.currentOp(), 绝对是原创... 今天公司的dba在内部分享了针对mysql ...
- Sql Server来龙去脉系列之三 查询过程跟踪
我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...
- MongoDB 覆盖索引查询
MongoDB 覆盖索引查询 官方的MongoDB的文档中说明,覆盖查询是以下的查询: 所有的查询字段是索引的一部分 所有的查询返回字段在同一个索引中 由于所有出现在查询中的字段是索引的一部分, Mo ...
- MongoDB 入门之查询(find)
MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...
- MongoDB系列之二(主动复制)
目前我正在进行MongoDB的双机热备方面相关的工作.根据我目前看到的MongoDB方面的材料,MongoDB的实际部署有三种方式,分别是“主动复制”,“副本集”以及“分片副本集”. 首先我们从最简单 ...
- MongoDB系列三(Spring集成方案).
一.前言 MongoDB是最为流行的开源文档数据库之一.Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 通过注解实现对象-文档映射: 使用MongoTem ...
- mongodb系列之---副本集配置与说明
在配置副本集之前,我们先来了解一些关于副本集的知识. 1,副本集的原理 副本集的原理与主从很相似,唯一不同的是,在主节点出现故障的时候,主从配置的从服务器不会自动的变为主服务器,而是要通过手动修改配置 ...
随机推荐
- 王霸雄图荣华敝屣,谈笑间尽归尘土|基于Python3双队列数据结构搭建股票/外汇交易匹配撮合系统
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_192 如果你爱他,那么送他去股市,因为那里是天堂:如果你恨他,送他去股市,因为那里是地狱. 在过去的一年里,新冠疫情持续冲击世界经 ...
- 3. 安装部署MGR集群 | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 初始化MySQL Server 3. 初始化MGR第一个节点 4. 继续设置另外两个节点 5. ...
- 最新MongoDB安装,学习笔记
MongoDB 导读 作者还在陆续更新中,如果喜欢作者的笔记,觉得可以学习到有帮助,后面会不断学习新内容,就点个关注吧,如果觉得文章有关注可以点个赞,谢谢: 官网:https://www.mongod ...
- Luogu3092 [USACO13NOV]没有找零No Change (状压DP)
将金币状压,然后就没多说的了. #include <iostream> #include <cstdio> #include <cstring> #include ...
- java-分支重载以及构造方法
1:方法的签名: 方法名+参数列表就是一个方法的签名 2.方法的重载(Overload): 1)发生在同一个类中,方法名称相同,参数列表不同 2)编译器在编译时会根据方法的签名自动绑定方法 3.构造方 ...
- 痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设. 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地 ...
- 「题解报告」 P3167 [CQOI2014]通配符匹配
「题解报告」 P3167 [CQOI2014]通配符匹配 思路 *和?显然无法直接匹配,但是可以发现「通配符个数不超过 \(10\) 」,那么我们可以考虑分段匹配. 我们首先把原字符串分成多个以一个通 ...
- D - Distinct Trio
D - Distinct Trio 题意:求三个数个各不相同的数目. 题解:正面考虑比较困难,可以反向思考,在总值上减去不符合的即可 #include<bits/stdc++.h> usi ...
- 第二十八篇:关于node.js连接数据库
好家伙,这个不难,但是也不简单. $ cnpm install mysql 教程里是带美元符的,但是我打的时候加上美元符用不了,所以我就没用美元符了,一样能行. 还有,淘宝镜像,yyds, var m ...
- C与C++有什么区别
C是一个结构化语言,它的侧重点在于算法和数据结构.对语言本身而言,C是C++的一个子集. C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理,得到输出. 对于C++,首要考虑的是如何构造一个 ...