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系列之查询的更多相关文章

  1. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

  2. MongoDB 系列文章

    MongoDB 系列文章 本文的内容是基于 MongoDB 4.0 的. 参考于 MongoDB 4.0 官方文档. 搭建 MongoDB从搭建到优化 MongoDB-副本集搭建与管理 管理 Mong ...

  3. mongodb系列之-治理mongodb->db.currentOp()

    mongodb系列之-管理mongodb->db.currentOp() 管理mongodb->db.currentOp(), 绝对是原创... 今天公司的dba在内部分享了针对mysql ...

  4. Sql Server来龙去脉系列之三 查询过程跟踪

    我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...

  5. MongoDB 覆盖索引查询

    MongoDB 覆盖索引查询 官方的MongoDB的文档中说明,覆盖查询是以下的查询: 所有的查询字段是索引的一部分 所有的查询返回字段在同一个索引中 由于所有出现在查询中的字段是索引的一部分, Mo ...

  6. MongoDB 入门之查询(find)

    MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...

  7. MongoDB系列之二(主动复制)

    目前我正在进行MongoDB的双机热备方面相关的工作.根据我目前看到的MongoDB方面的材料,MongoDB的实际部署有三种方式,分别是“主动复制”,“副本集”以及“分片副本集”. 首先我们从最简单 ...

  8. MongoDB系列三(Spring集成方案).

    一.前言 MongoDB是最为流行的开源文档数据库之一.Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 通过注解实现对象-文档映射: 使用MongoTem ...

  9. mongodb系列之---副本集配置与说明

    在配置副本集之前,我们先来了解一些关于副本集的知识. 1,副本集的原理 副本集的原理与主从很相似,唯一不同的是,在主节点出现故障的时候,主从配置的从服务器不会自动的变为主服务器,而是要通过手动修改配置 ...

随机推荐

  1. Nginx 目录结构、Nginx服务控制命令

    # Nginx目录结构 # 首先推荐一个查看目录结构的工具 tree # yum install -y tree # sudo apt-get install -y tree ubuntu # 查看n ...

  2. AWS EKS 创建k8s生产环境实例

    #AWS EKS 创建k8s生产环境实例 在AWS部署海外节点, 图简单使用web控制台创建VPC和k8s集群出错(k8s), 使用cli命令行工具创建成功 本实例为复盘, 记录aws命令行工具创建e ...

  3. 源码解析springbatch的job是如何运行的?

    202208-源码解析springbatch的job是如何运行的? 注,本文中的demo代码节选于图书<Spring Batch批处理框架>的配套源代码,并做并适配springboot升级 ...

  4. 完整代码:AgileFontSet迅捷字体设置程序

    AgileFontSet用于快捷设置Windows系统字体和桌面图标间距,介绍参见:https://www.cnblogs.com/ybmj/p/11340105.html .这里提供AgileFon ...

  5. Web 前端模块出现的原因,以及 Node.js 中的模块

    模块出现原因 简单概述 随着 Web 2.0 时代的到来,JavaScript 不再是以前的小脚本程序了,它在前端担任了更多的职责,也逐渐地被广泛运用在了更加复杂的应用开发的级别上. 但是 JavaS ...

  6. linux下用docker安装redis

    docker安装redis方法: 1.用命令来查看可用版本: docker search redis 2.拉取官方的最新版本的镜像:docker pull redis:latest 3.查看镜像:do ...

  7. PHP随机图片API

    相比上一个版本代码缩短了 此版本为图片专用 查看代码 <?php $img=file('img.txt');//txt文件 $url=array_rand($img);//imgtxt文档里面图 ...

  8. mac M1通过homebrew安装python3报错Error: Command failed with exit 128: git

    fatal: not in a git directoryError: Command failed with exit 128: git 只需要运行 git config --global --ad ...

  9. 【java】学习路径39-Buffered缓冲输出流

    import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; pu ...

  10. 【java】学习路径29-异常捕捉实例

    import java.util.ArrayList;public class ExceptionCatchDemo { public static void main(String[] args) ...