MongoDB 基本查询语句

基本查询

  1. 查询所有文档

    db.collection.find()
    

    示例:

    db.users.find()
    
  2. 按条件查询文档

    db.collection.find({ key: value })
    

    示例:

    db.users.find({ age: 25 })
    
  3. 查询并格式化输出

    db.collection.find().pretty()
    

    示例:

    db.users.find().pretty()
    

条件操作符

  1. 等于 ($eq)

    db.collection.find({ key: { $eq: value } })
    

    示例:

    db.users.find({ age: { $eq: 25 } })
    
  2. 不等于 ($ne)

    db.collection.find({ key: { $ne: value } })
    

    示例:

    db.users.find({ age: { $ne: 25 } })
    
  3. 大于 ($gt)

    db.collection.find({ key: { $gt: value } })
    

    示例:

    db.users.find({ age: { $gt: 25 } })
    
  4. 大于等于 ($gte)

    db.collection.find({ key: { $gte: value } })
    

    示例:

    db.users.find({ age: { $gte: 25 } })
    
  5. 小于 ($lt)

    db.collection.find({ key: { $lt: value } })
    

    示例:

    db.users.find({ age: { $lt: 25 } })
    
  6. 小于等于 ($lte)

    db.collection.find({ key: { $lte: value } })
    

    示例:

    db.users.find({ age: { $lte: 25 } })
    

逻辑操作符

  1. 与 ($and)

    db.collection.find({ $and: [ { key1: value1 }, { key2: value2 } ] })
    

    示例:

    db.users.find({ $and: [ { age: { $gt: 25 } }, { name: "Alice" } ] })
    
  2. 或 ($or)

    db.collection.find({ $or: [ { key1: value1 }, { key2: value2 } ] })
    

    示例:

    db.users.find({ $or: [ { age: { $lt: 25 } }, { name: "Alice" } ] })
    
  3. 非 ($not)

    db.collection.find({ key: { $not: { condition } } })
    

    示例:

    db.users.find({ age: { $not: { $gt: 25 } } })
    

嵌套文档查询

  1. 查询嵌套文档中的字段
    db.collection.find({ "nested.key": value })
    
    示例:
    db.users.find({ "address.city": "New York" })
    

数组操作符

  1. 数组中包含某个值 ($in)

    db.collection.find({ key: { $in: [ value1, value2 ] } })
    

    示例:

    db.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })
    
  2. 数组中不包含某个值 ($nin)

    db.collection.find({ key: { $nin: [ value1, value2 ] } })
    

    示例:

    db.users.find({ favoriteColors: { $nin: [ "red", "blue" ] } })
    
  3. 数组中包含所有值 ($all)

    db.collection.find({ key: { $all: [ value1, value2 ] } })
    

    示例:

    db.users.find({ favoriteColors: { $all: [ "red", "blue" ] } })
    

示例查询

假设你有一个名为 mydatabase 的数据库和一个名为 users 的集合,集合中的文档结构如下:

{"name": "Alice","age": 25,"address": {"city": "New York","zip": "10001"},"favoriteColors": ["red", "blue"]
}

你可以进行以下查询:

  1. 查询所有用户

    db.users.find().pretty()
    
  2. 查询年龄大于 25 的用户

    db.users.find({ age: { $gt: 25 } })
    
  3. 查询住在 New York 的用户

    db.users.find({ "address.city": "New York" })
    
  4. 查询喜欢红色或蓝色的用户

    db.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })
    

这些示例展示了如何在 MongoDB 中执行各种查询操作。根据需要,可以调整和扩展查询条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于重要抽样的主动学习不平衡分类方法ALIS

这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。 1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。 2、论…

9种二极管及其特点总结

二极管种类和特点 名字特点恒流二极管近些年出现,电压大于某个值,电流恒定,一般用于led普通二极管低频整流和续流,便宜,反向恢复时间us级别,PN结肖特基二极管比普通二极管反向关断更快,10ns级别…

ARM/Linux嵌入式面经(十八):TP-Link联洲

文章目录 虚拟内存,页表,copy on write面试题1:面试题2:面试题3:进程和线程的区别红黑树和b+树的应用红黑树的应用B+树的应用视频会议用了哪些协议1. H.323协议2. SIP协议(会话发起协议)3. WebRTC(网页实时通信)4. 其他协议io多路复用(select,poll,epoll)面试题li…

智能硬件——0-1开发流程

文章目录 流程图1. 市场分析具体分析 2. 团队组建2. 团队组建早期团队配置建议配置一:基础型团队 (4人)配置二:扩展型团队 (6人)配置三:全面型团队 (7人) 3. 产品需求分析4. ID设计(Industrial Design, 工业设计)5. 结…

阿里云公共DNS免费版自9月30日开始限速 企业或商业场景需使用付费版

本周阿里云发布公告对公共 DNS 免费版使用政策进行调整,免费版将从 2024 年 9 月 30 日开始按照请求源 IP 进行并发数限制,单个 IP 的请求数超过 20QPS、UDP/TCP 流量超过 2000bps 将触发限速策略。 阿里云称免费版的并发数限制并非采用固定的阈值&…

一次Mysql报错:too many connections 的排查

某次出现了mysql too many connections 的报错, 管理后台无法进入了, 经查, show variables like "%max_connect%" 最大连接数是150 查当前连接数 show status like "%Threads_connected%" 当前连接数152&#xf…

Unity游戏开发入门:从安装到创建你的第一个3D场景

目录 引言 一、Unity的安装 1. 访问Unity官网 2. 下载Unity Hub 3. 安装Unity Hub并安装Unity编辑器 二、创建你的第一个项目 1. 启动Unity Hub并创建新项目 2. 熟悉Unity编辑器界面 3. 添加基本对象 4. 调整对象属性 5. 添加光源 三、运行与预览 引言 Unity&…

netty 自定义客户端连接池和channelpool

目录标题 客户端池化运行分析问题修复 客户端池化 通信完成之后,一般要关闭channel,释放内存。但是与一个服务器频繁的打开关闭浪费资源。 通过连接池,客户端和服务端之间可以创建多个 TCP 连接,提升消息的收发能力,同…

【深度学习】VGG-16原理及代码实现

1.原理及介绍 2.代码实现 2.1model.py import torch from torch import nn from torchsummary import summary import torch.nn.functional as Fclass VGG16(nn.Module):def __init__(self):super(VGG16, self).__init__()self.block1 nn.Sequential( # 用一个序列&#xf…

51单片机嵌入式开发:13、STC89C52RC 之 RS232与电脑通讯

STC89C52RC 之 RS232与电脑通讯 第十三节课,RS232与电脑通讯1 概述2 Uart介绍2.1 概述2.2 STC89C52UART介绍2.3 STC89C52 UART寄存器介绍2.4 STC89C52 UART操作 3 C51 UART总结 第十三节课,RS232与电脑通讯 1 概述 RS232(Recommended Stand…

Github报错:Kex_exchange_identification: Connection closed by remote host

文章目录 1. 背景介绍2. 排查和解决方案 1. 背景介绍 Github提交或者拉取代码时,报错如下: Kex_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository.Please make sure you have the correct ac…

HTML5大作业三农有机,农产品,农庄,农旅网站源码

文章目录 1.设计来源1.1 轮播图页面头部效果1.2 栏目列表页面效果1.3 页面底部导航效果 2.效果和源码2.1 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_4…

监控-海康威视摄像头更改OSD通道,一键更改,批量更改

监控-海康威视摄像头更改OSD通道,一键更改,批量更改 监控-海康威视摄像头更改OSD通道,一键更改,只能一次更改一个,支持循环 # codingutf-8 #监控-海康威视摄像头更改OSD通道,一键更改,批量更改…

计算机三级嵌入式笔记(一)—— 嵌入式系统概论

目录 考点1 嵌入式系统 考点2 嵌入式系统的组成与分类 考点3 嵌入式系统的分类与发展 考点4 SOC芯片 考点5 数字(电子)文本 考点6 数字图像 考点7 数字音频与数字视频 考点8 数字通信 考点9 计算机网络 考点10 互联网 考纲(2023&am…

2、如何发行自己的数字代币(truffle智能合约项目实战)

2、如何发行自己的数字代币(truffle智能合约项目实战) 1-Atom IDE插件安装2-truffle tutorialtoken3-tutorialtoken源码框架分析4-安装openzeppelin代币框架(代币发布成功) 1-Atom IDE插件安装 正式介绍基于web的智能合约开发 推…

【Vue3】响应式数据

【Vue3】响应式数据 背景简介开发环境基本数据类型对象数据类型使用 reactive 定义对象类型响应式数据使用 ref 定义对象类型响应式数据 ref 和 reactive 的对比使用原则建议 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0…

牛客:TOP101链表相加(二)

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 按照我们习惯的加法运算,肯定是要从个位开始相加,然后十位……,但是在链表中如果我们先运算后面的,那么接下来我们是无法找到前一位的。想要解决这个问题也很…

【架构艺术】大规模业务逻辑迁移实践

对于一个成熟的工程项目而言,因为项目未来发展或是和企业内部更深度融合的需要,我们可能需要对既有业务逻辑做很大规模的改动,涉及到多方面的逻辑迁移和代码重构,才能够达到下一代产品所需要的效果。 今天这篇文章,就…

优选算法之滑动窗口(下)

目录 一、水果成篮 1.题目链接:904.水果成篮 2.题目描述: 3.解法(滑动窗口) 🍁算法思路: 🍁算法流程: 🍁算法代码1(使用容器): …

数模·插值和拟合算法

插值 将离散的点连成曲线或者线段的一种方法 题目中有"任意时刻任意的量"时使用插值,因为插值一定经过样本点 插值函数的概念 插值函数与样本离散的点一一重合 插值函数往往有多个区间,多个区间插值函数样态不完全一样,简单来说就…