Docs 菜单

Docs 主页开发应用程序MongoDB Manual

词汇表

注意

有关 MongoDB Atlas (用于在云中部署 MongoDB 的完全托管服务)相关的术语,请参阅 Atlas 文档中的术语表。

$cmd
公开 MongoDB 数据库命令 的虚拟 集合 。要使用数据库命令,请参阅 发出命令。
_id
每个 MongoDB文档都需要的字段。 _id字段必须具有唯一值。您可以将 _id字段视为文档的主键。如果创建的新文档中没有_id字段,MongoDB 会自动创建该字段并为该字段分配一个唯一的 BSON ObjectId
累加器
聚合管道 中的一个 表达式 ,用于维护聚合 管道 中文档之间的状态。有关累加器操作的列表,请参阅$group
操作
用户可以对资源执行的操作。操作和资源共同创建权限。请参阅操作。
管理库
获授权的数据库。用户必须有权访问 admin 数据库才能运行某些管理命令。有关管理命令的列表,请参阅管理命令
聚合
减少和汇总大量数据的操作。MongoDB 的 aggregate()mapReduce() 方法是聚合操作的两个示例。如需了解更多信息,请参阅聚合操作。
聚合管道
包括一个或多个处理文档的阶段。聚合操作符无需使用map-reduce即可计算聚合值。有关操作符列表,请参阅聚合参考。
投票节点
一个副本集成员,其存在只是为了在选举中投票。仲裁节点不复制数据。仲裁节点会参与节点的选举,但不能成为主节点。有关更多详细信息,请参阅副本集仲裁节点。
Atlas
MongoDB Atlas是一种云托管的数据库即服务。
原子操作
原子操作是一种写入操作,它要么完全完成,要么根本没有完成。对于涉及写入多个文档的分布式事务,对每个文档的所有写入都必须成功才能使事务成功。原子操作无法部分完成。请参见原子性和事务
身份验证
验证用户身份。请参阅身份验证。
授权
提供对数据库和操作的访问权限。请参阅基于角色的访问控制。
自动加密
使用In-Use Encryption时,会根据您预先配置的加密模式自动执行加密和解密。自动加密共享库将 MongoDB 查询语言转换为正确的调用,这意味着您无需为特定的加密和解密调用重写应用程序。
B树
数据库管理系统通常用来存储索引的数据结构。MongoDB 使用 B-Tree 索引。
备份光标备份游标
指向备份文件列表的可追加游标。备份游标仅供内部使用。
平衡器
一个内部 MongoDB 进程,在分片集群上下文中运行并管理数据段的迁移。管理员必须为分片集群上的所有维护操作禁用负载均衡器。请参阅分片集群负载均衡器。
阻塞排序

在返回输出之前,必须在内存中执行的排序。阻塞排序可能会影响大型数据集的性能。使用索引排序来避免阻塞排序。

请参阅排序和索引使用,详细了解阻塞排序操作。

有界集合扫描
查询优化器使用的计划,用于排除具有特定字段值范围的文档。例如,如果日期字段值的范围超出了指定的日期范围,查询计划就会排除该范围内的文档。请参见集合扫描
BSON
一种序列化格式,用于在 MongoDB 中存储文档和进行远程过程调用。 “BSON”是“binary”和“JSON”这两个词的组合。可以将 BSON 视为 JSON(JavaScript 对象表示法)文档的二进制表示形式。请参阅BSON 类型MongoDB 扩展 JSON (v 2 )。
BSON类型
BSON序列化格式支持的类型集。有关 BSON 类型的列表,请参阅BSON 类型。
CAP 定理
对于计算系统的三种属性,即一致性、可用性和分区容错性,分布式计算系统可以满足其中任意两项,但不能同时提供全部三项。
固定集合
一种固定大小的 集合 ,当该集合达到其最大大小时,它会自动覆盖其最旧的条目。 复制 中使用的 MongoDB oplog 是一个固定大小集合。请参阅 固定大小集合。
关联基数
一组值中元素数量的度量。例如,组 A = { 2, 4, 6 } 包含 3 个元素,关联基数为 3。请参阅分片键关联基数
笛卡尔积
两个数据集组合的结果,组合数据集包含所有可能的值组合。
CFQ
完整公平排队 (cfq) 是一种 I/O 操作调度器,为传入请求进程分配带宽。
校验和
用于确保数据完整性的计算值。 md 5算法有时用作校验和。
数据段
分片中连续的分片键值范围。数据段范围包括下边界,但不包括上边界。当数据段的增长大于配置的数据段大小时,MongoDB 会对其进行拆分。默认数据段大小为128兆字节。当一个分片包含的集合数据段远多于其他分片时,MongoDB 会迁移数据段。有关更多详细信息,请参阅使用数据段进行数据分区分片集群负载均衡器管理分片集群负载均衡器。
客户端

使用数据库进行数据持久化和存储的应用程序层。驱动程序提供应用程序层和数据库服务器之间的接口级别。

客户端也可以是单个线程或进程。

客户端关联性
与指定数据源的一致客户端连接。
集群
请参阅分片集群。
cluster-to-cluster sync
分片集群之间同步数据。也称为 C 2 C 同步。
集群化集合
存储按 集群索引 键排序的文档的 集合 。请参阅 集群化集合。
客户主密钥
客户主密钥的缩写,请参阅客户主密钥。
集合
MongoDB文档的分组。集合相当于RDBMS表。集合位于单个数据库中。集合不强制执行模式。集合中的文档可以具有不同的字段。通常,集合中的文档具有相似或相关的用途。请参阅命名空间。
集合扫描(collection scan)
集合扫描是一种查询执行策略,其中 MongoDB 必须检查集合中的每个文档,以确定它是否与查询条件匹配。这些查询效率非常低,并且不使用索引。有关查询执行策略的详细信息,请参阅查询优化
提交
保存startSession 命令启动后对数据所做的更改。在使用 命令提交之前, 事务 commitTransaction中的操作不是永久性的。
commitQuorum
索引构建期间,提交法定人数指定在主节点执行提交之前有多少个从节点必须准备好提交其本地索引构建。
复合索引
由两个或多个键组成的索引。请参阅复合索引。
并发控制
并发控制可确保数据库操作可以并发执行,而不会影响正确性。悲观并发控制(例如在带锁的系统中使用的控制)会阻止任何潜在冲突的操作,即使这些操作可能并未发生冲突。 WiredTiger使用的乐观并发控制方法将检查延迟到可能发生冲突之后,结束并重试任何写冲突中的操作之一。
配置数据库
包含分片集群元数据的内部数据库。通常情况下,您不会修改config数据库。有关config数据库的更多信息,请参阅配置数据库。
配置服务器
一个mongod实例,用于存储与分片集群关联的所有元数据。请参阅配置服务器。
连接池
驱动程序维护的数据库连接缓存。当需要连接数据库时,这些缓存的连接会被重复使用,而不是打开新的连接。
连接风暴
驱动程序尝试打开与部署的连接的数量超出该部署可以处理的范围的场景。当新连接请求失败时,驱动程序会请求建立更多连接,以响应部署速度减慢或无法打开新连接的情况。这些连续的请求可能会使部署超载并导致中断。
container
一组软件及其依赖库,它们打包在一起,便于在计算环境之间进行传输。Container 在操作系统上作为划分的进程运行,并且可以被赋予自己的资源限制。常见的 container 技术有 Docker 和 Kubernetes。
CRUD
数据库基本操作的首字母缩写词:创建、读取、更新和删除。请参阅 MongoDB CRUD 操作。
CSV
一种文本数据格式,包含以逗号分隔的值。 CSV 文件可用于在关系数据库之间交换数据,因为 CSV 文件具有表格数据。您可以使用mongoimport导入 CSV 文件。
游标
指向查询结果集的指针。客户端可以遍历游标来检索结果。默认情况下,未在会话中打开的游标会在10分钟不活动后自动超时。在会话中打开的游标会随着会话的结束或超时而关闭。请参阅mongosh中迭代游标。
客户主密钥
用于加密数据加密密钥的密钥。客户主密钥必须托管在远程密钥提供程序中。
后台进程
后台的非交互式进程。
数据目录
mongod 存储数据文件的文件系统位置。dbPath 指定了数据目录。
数据加密密钥
用于加密 MongoDB 文档中字段的密钥。加密的数据加密密钥存储在密钥保管库集合中。数据加密密钥由客户主密钥加密。
数据文件
存储文档数据和索引。dbPath 选项指定数据文件在文件系统中的位置。
数据分区
将数据划分为多个范围的分布式系统架构。分使用分区。请参阅使用数据段进行数据分区。
数据中心可知性
允许客户端根据成员的位置对系统中的成员进行寻址的属性。副本集使用标记来实现数据中心感知。请参阅数据中心感知。
数据库
集合容器。每个数据库在文件系统中都有一组文件。一台 MongoDB 服务器通常有多个数据库。
数据库命令
除插入、更新、删除或查询之外的 MongoDB 操作。有关数据库命令的列表,请参阅数据库命令。要使用数据库命令,请参阅发出命令
数据库分析器
一种工具,启用后会在数据库的system.profilecollection中保留所有长时间运行的操作的记录。分析器最常用于诊断查询。请参阅数据库分析器。
数据库文件路径
MongoDB 数据文件存储的位置。请参阅 dbPath
DDL(数据定义语言)
DDL 包括用于创建和修改集合和索引的命令。
DEK
数据加密密钥。有关详细信息,请参阅数据加密密钥。
延迟成员
无法成为主节点并按指定延迟进行操作的副本集节点。延迟可用于保护数据免受人为错误(无意中删除的数据库)或对生产数据库产生不可预见影响的更新的影响。请参阅延迟的副本集成员。
文档
MongoDB集合中的一条记录,也是 MongoDB 中数据的基本单位。文档类似于JSON对象,但以类型更丰富的格式(称为BSON )存在于数据库中。请参阅文档。
点符号
MongoDB 使用点符号来访问数组的元素以及嵌入式文档的字段。请参阅点符号
排干
将数据段从一个 分片 删除或“ 脱落 ”到另一个分片的过程。管理员必须先清空分片,然后再将其从集群中删除。请参阅 从现有分片集群中删除分片。
驱动
用于以特定计算机语言与 MongoDB 交互的客户端库。请参阅驱动程序。
持久性
如果写入操作在一个或多个服务器进程关闭(或崩溃)和重新启动后仍然持续存在,则该操作是持久的。对于单个mongod服务器,写入操作在写入服务器的日志文件后被认为具有持久性。对于副本集,在写入操作在大多数投票节点上实现持久性并写入大多数投票节点的日志后,该写入操作被认为具有持久性。
选举
副本集成员在启动时和出现故障时选择节点的过程。请参阅副本集选举。
信封加密
一种加密过程,其中使用数据加密密钥对数据进行加密,而数据加密密钥则由另一个称为客户主密钥的密钥进行加密。加密后的密钥作为BSON文档存储在名为 KeyVault 的 MongoDB 集合中。
最终一致性
分布式系统的一种属性,允许逐渐传播对系统的更改。在数据库系统中,这意味着可读成员不需要具有最新的更新。
显式加密
使用“正在使用的加密”时,请在处理加密数据时显式指定加密或解密操作、密钥 ID 以及查询类型(针对可查询加密)或算法(针对客户端字段级加密)。与自动加密相比。
表达式(expression)
聚合管道中,表达式是对通过管道的数据进行操作的无状态转换。请参阅聚合管道。
故障切换
在发生故障时允许 副本集 的从节点成员成为 节点 的过程。请参阅 自动故障转移。
字段
文档中的名称/值对。一个文档具有零个或多个字段。字段类似于关系数据库中的列。请参阅文档结构。
字段路径
文档中字段的路径。要指定字段路径,请使用在字段名称前添加美元符号 ($) 的字符串。
防火墙
一种系统级网络过滤器,用于根据 IP 地址和其他参数来限制访问。防火墙是安全网络的一部分。请参阅防火墙。
fsync

将内存中所有脏页刷新到存储的系统调用。当应用程序写入数据时,MongoDB 将数据记录在存储层。

为了提供持久数据, WiredTiger使用了检查点。有关更多详细信息,请参阅日志和 WiredTiger 存储引擎。

geohash
geohash 值是对坐标网格上位置的二进制表示形式。请参阅 Geohash 值。
GeoJSON
一种基于 JavaScript 对象表示法 ( JSON ) 的 地理空间 数据交换格式。 GeoJSON 用于 地理空间查询 。有关受支持的 GeoJSON 对象,请参阅 地理空间数据 。有关 GeoJSON 格式规范,请参阅 https://tools.ietf.org/html/rfc7946 #section-3 。1
geospatial
与地理位置有关。请参阅地理空间查询
GridFS
在 MongoDB 数据库中存储大型文件的惯例。所有官方 MongoDB 驱动程序都支持 GridFS 约定, mongofiles程序也是如此。请参阅GridFS。
哈希片键
一种分片,它使用分片键字段中值的哈希值在分片集群成员之间分发文档。请参阅哈希索引。
健康管理器
健康管理以指定的强度级别对健康管理器组件运行健康状况检查。健康管理器检查按指定时间间隔运行。健康管理器可以配置为自动将出现故障的mongos从集群中移出。
健康管理器组件
可以配置运行状况管理器以对其运行运行状况检查的一组功能。例如,您可以配置健康管理器以自动监控和管理 DNS 或 LDAP 集群的健康问题。有关详细信息,请参阅健康管理器组件
隐藏成员
无法成为 节点且对客户端应用程序不可见的 副本集 成员。请参阅 隐藏的副本集成员。
高可用性

高可用性是指系统设计具有持久性、冗余性和自动故障转移功能。系统支持的应用程序可以长期无故障运行。根据最佳实践部署时,MongoDB 副本集支持高可用性。

有关副本集部署架构的指导,请参阅副本集部署架构

幂等
一个操作多次运行时,相同的输入会产生相同的结果。
正在使用的加密
一种加密:在数据传输、存储和处理过程中保护数据的安全,并实现对已加密数据进行受支持查询。MongoDB 提供两种“正在使用的加密”方法:Queryable Encryption客户端字段级加密
索引(index)
一种优化查询的数据结构。请参见索引。
索引边界
MongoDB 使用索引运行查询时搜索的索引值范围。要了解详情,请参阅多键索引边界
索引排序
索引提供排序结果的排序。使用索引的排序操作通常比阻塞排序具有更好的性能。有关详细信息,请参阅使用索引对查询结果进行排序
初始化脚本
Linux 平台的init 系统用来启动、重新启动或停止守护进程的 Shell 脚本。如果您使用包管理器安装 MongoDB,则会在安装过程中为您的系统提供一个初始化脚本。请参阅操作系统的相应安装指南
初始化系统
init 系统是 Linux 平台上自内核启动后第一个启动的进程,负责管理系统上的所有其他进程。 init 系统使用init 脚本来启动、重新启动或停止守护进程,例如mongodmongos 。最近的 Linux 版本通常使用systemd init 系统和systemctl命令。较旧的 Linux 版本通常使用System V init 系统和service命令。请参阅操作系统的安装指南。
初始化同步
将数据从现有副本集成员复制到新副本集成员的副本操作。请参阅初始同步。
意向锁
资源上的,表示锁持有者将使用并发控制读取(意向共享)或写入(意向独占)资源,其粒度比具有意向锁的资源更细。意向锁允许并发读取和写入资源。请参阅MongoDB 使用什么类型的锁定?。
中断点
某个操作可以安全终止的时间点。MongoDB 仅在指定的中断点终止操作。请参阅终止正在运行的操作。
IPv6
IP(互联网协议)标准的修订版,具有大地址空间以支持互联网主机。
ISODate
mongosh用于显示日期的国际日期格式。格式为YYYY-MM-DD HH:MM.SS.millis
JavaScript
一种脚本语言。 mongosh 、旧版mongo Shell 和某些服务器函数使用 JavaScript 解释器。有关更多信息,请参阅服务器端 JavaScript
日志
一个连续的二进制事务日志,用于在硬关闭时使数据库进入有效状态。日志首先将数据写入日志,然后写入核心数据文件。默认情况下,MongoDB 会为 MongoDB 版本2的64位版本启用日志功能。 0及更高版本。日志文件已预先分配,并作为文件存在于数据目录中。请参阅日志。
JSON
JavaScript 对象表示法。一种纯文本格式,用于表达结构化数据,并支持多种编程语言。有关更多信息,请参阅 http://www.json.org 。某些 MongoDB 工具以 JSON 格式呈现 MongoDB BSON 文档的近似值。请参阅 MongoDB 扩展 JSON (v )。2
JSON文档
JSON 文档是结构化格式的字段和值的集合。有关示例 JSON 文档,请参阅 http://json.org/example.html
JSONP
带填充的JSON 。指一种将 JSON 注入到应用程序中的方法。存在潜在的安全问题
巨型块
增长超过指定数据段大小且无法分割为更小数据段的数据段。有关更多详细信息,请参阅不可分割/巨型数据段。
密钥材料
加密算法用于加密和解密数据的随机位串。
密钥保管库集合
一个 MongoDB 集合,将加密的数据加密密钥存储为BSON文档。
最低权限
一种授权策略,仅为用户授予该用户的工作所需的访问权限。
传统坐标对
MongoDB 2版本之前的地理空间数据使用的格式。 4 。此格式将地理空间数据存储为平面坐标系上的点(例如[ x, y ] )。请参阅地理空间查询。
线串(LineString)
线串是包含两个或多个位置的数组。具有四个或更多位置的闭合线串称为 LinearRing,如 GeoJSON 线串规范中所述: https://tools.ietf.org/html/rfc7946 #section-3 1。4 。 。要在 MongoDB 中使用线串,请参阅 GeoJSON 对象。
MongoDB 使用锁来确保并发性不会影响正确性。 MongoDB 使用读锁写锁意向锁。有关更多信息,请参阅MongoDB 使用什么类型的锁定?。
日志文件
包含服务器事件,例如传入连接、运行的命令以及遇到的问题。有关详细信息,请参阅日志消息
逻辑卷管理器
逻辑卷管理器。逻辑卷管理器是一个从物理设备中提取磁盘映像的程序,并提供许多对系统管理有用的原始磁盘操作和快照功能。有关逻辑卷管理器和 MongoDB 的信息,请参阅在 Linux 上使用逻辑卷管理器进行备份和恢复
map-reduce
一种聚合过程,由选择数据的“映射”(map) 阶段和转换数据的“缩减”(reduce) 阶段组成。在 MongoDB 中,您可以使用 map-reduce 对数据运行任意聚合。有关 map-reduce 的实现,请参阅 Map-Reduce。有关聚合的所有方法,请参阅聚合操作。
映射类型
编程语言中将键与值相关联的结构。键可以包含嵌入的键和值对(例如,字典、哈希、映射和关联数组)。这些结构的属性取决于语言规范和实施。通常,映射类型中键的顺序是任意的,不保证一致性。
MD5
一种哈希算法,用于计算所提供数据的校验和。该算法返回一个唯一值来标识数据。 MongoDB 使用 md 5来识别GridFS的数据段。请参阅filemd 5 。
平均数
一组数字的平均值。
中位数
在数据集中,中位数是百分位数值,其中 50% 的数据小于或等于该值。
成员
单个mongod进程。一个副本集有多个节点。成员也称为节点。
元数据集合
可查询加密中,MongoDB 使用内部集合来支持对加密字段的查询。请参阅元数据集合
MIME
多用途互联网邮件扩展。一组标准的类型和编码定义,用于声明多个数据存储、传输和电子邮件上下文中的数据编码和类型。 mongofiles工具提供了一个选项来指定 MIME 类型,以描述插入GridFS存储中的文件。
模式
一组数字中出现次数最多的数字。
mongo

旧版 MongoDB Shell。mongo 进程将传统 Shell 作为连接到mongodmongos 实例的 守护 进程启动。 Shell 有一个 JavaScript 接口。

从 MongoDB v 5开始。 0 、 mongo已弃用, mongosh取代mongo作为客户端 Shell。请参阅mongosh。

mongod
MongoDB 数据库服务器。 mongod进程将 MongoDB 服务器作为守护进程启动。 MongoDB 服务器管理数据请求和后台操作。请参阅mongod
的分片元数据的总大小
MongoDB 分片集群查询路由器。 mongos进程将 MongoDB 路由器作为守护进程启动。 MongoDB 路由器充当应用程序和 MongoDB分片集群之间的接口,并处理集群中的所有路由和负载平衡。请参阅mongos
mongosh

MongoDB Shell。 mongoshmongodmongos实例提供了一个 Shell 接口。

从 MongoDB v 5开始。 0 , mongosh取代mongo成为首选 shell。

名称空间
命名空间是数据库名称和集合或索引名称的组合:<database-name>.<collection-or-index-name>。所有文档都属于一个命名空间。请参阅命名空间
自然顺序
数据库在磁盘上存储文档的顺序。自然顺序是默认的排序顺序。请参阅 $natural按自然顺序返回
网络分区

一种网络故障,将分布式系统分为多个分区,导致一个分区中的节点无法与另一个分区中的节点进行通信。

有时是部分分区或不对称分区。部分分区的一个示例是将网络的节点分为三个节点集,其中第一个节点集的成员无法与第二个节点集的成员通信,反之亦然,但所有节点都可以与第三个节点集的成员通信。

在不对称分区中,只有当通信源自某些节点时,才可能进行通信。例如,分区一端的节点只有在发起通信信道时才能与另一端通信。

节点
单个mongod进程。副本集有多个节点。节点也称为成员。
noop
无操作 (noop) 是一种 I/O 操作调度程序,它根据先进先出队列为传入进程分配 I/O 带宽。
对象标识符
请参阅ObjectId。
ObjectId
一个12字节的BSON类型,在集合中是唯一的。 ObjectId 是使用时间戳、计算机 ID、进程 ID 和本地进程递增计数器生成的。 MongoDB 使用 ObjectId 值作为_id字段的默认值。
操作日志
请参阅oplog。
ops/sec
请参阅optime。
运算符
$ 开头的关键字,用于表示更新、复杂查询或数据转换。例如,$gt 是查询语言的“大于”操作符。有关可用的操作符,请参阅操作符。
oplog
一个固定大小集合,用于存储对 MongoDB 数据库的逻辑写入的有序历史记录。 oplog 是 MongoDB 中支持复制的基本机制。请参阅副本集 Oplog。
oplog hole
由于 oplog 写入未按顺序,因此 oplog 中出现临时缝隙。副本集主节点将 oplog 条目作为批处理操作并行应用。因此,批处理中尚未写入的条目可能会在 oplog 中出现临时缝隙。
oplog 窗口
oplog条目带有时间戳。 oplog window 是oplog中最新和最旧时间戳之间的时间差。如果从节点与主节点失去连接,则只有在 oplog window 内恢复连接后,它才能使用复制再次进行同步。
ops/sec

在 3.2 版中进行了更改:以下内容描述了 MongoDB 3.2 中引入的 protocolVersion: 1 使用的 ops/sec 格式。

对复制oplog中位置的引用。 optime 值是一个包含以下内容的文档:

  • ts,操作的时间戳

  • t,最初在主节点上生成操作的term

有顺序的查询计划
一种查询计划,其返回结果的顺序与 sort() 顺序一致。请参阅查询计划
孤立游标
应用程序代码中未正确关闭或迭代的游标。孤立游标可能导致 MongoDB 部署中出现性能问题。
孤立文档

在分片集群中,孤立文档是指位于某个分片上但同时以数据段形式存在于其他分片上的文档。这是由于异常关闭导致的迁移失败或迁移清理不完整造成的。

数据块迁移完成后,孤立文档会被自动清理。您不再需要运行cleanupOrphaned来删除孤立文档。

消极成员
副本集的某个节点,因其members[n].priority0而无法成为主节点。请参阅优先级0副本集节点。
百分位数
在数据集中,百分位数是指数据百分比等于或低于指定值的值。有关详细信息,请参阅计算注意事项
进程 ID (PID)
一种进程标识符。类 UNIX 系统将为每个正在运行的进程分配一个唯一整数 PID。您可以使用 PID 来检查正在运行的进程并向其发送信号。请参阅/proc文件系统。
管道
类 Unix 系统中的一种通信通道,允许独立进程发送和接收数据。在 UNIX Shell 中,管道操作允许用户将一个命令的输出定向到另一个命令的输入。
管道
聚合中的一系列操作。请参阅聚合管道。
GeoJSON Point 规范中描述的单个坐标对: https://tools.ietf.org/html/rfc7946 #section-3 1。2 。 。要在 MongoDB 中使用点,请参阅 GeoJSON 对象。
多边形

LinearRing 坐标数组的数组,如 GeoJSON Polygon 规范中所述: https://tools.ietf.org/html/rfc7946 #section-3 1。6 。 。对于具有多个环的多边形,第一个环必须是外环,其他环必须是内环或孔。

MongoDB 不允许外环自相交。内环必须完全包含在外边界内,并且不能彼此相交或重叠。请参阅 GeoJSON 对象。

后图像文档
插入、替换或更新后的文档。请参阅提供文档前像和后像的变更流
powerOf2Sizes
每个集合的一种设置,可为每个文档分配空间,以最大限度地重复使用存储空间并减少碎片。 powerOf2SizesTTL 集合的默认值。要更改集合设置,请参阅collMod
前图像文档
被替换、更新或删除之前的文档。请参阅带文档前像和后像的变更流
预分片
在插入数据之前执行的一项操作,它将可能的分片键值范围划分为多个数据段,从而实现轻松插入和高写入吞吐量。在某些情况下,预分割通过手动分割集合而不是等待 MongoDB 负载 均衡器 来加速分片 集群 中文档的初始分发。请参阅 在分片集群中创建范围。
前缀压缩
通过在内存的每个页面中仅存储一次所有相同的索引键前缀,从而降低内存与磁盘的使用量。请参阅压缩以了解有关 WiredTiger 压缩行为的更多信息。
主节点
副本集中,主节点是接收所有写入操作的成员。请参阅主节点。
主键
记录的唯一不可变标识符。在RDBMS软件中,主键通常是存储在每行的id字段中的整数。在 MongoDB 中, _id字段存储文档的主键,通常是 BSON ObjectId。
主分片
存储所有未分片集合的分片。请参阅主分片。
优先级
一个可配置值,有助于确定副本集中的哪些成员最有可能成为主节点。请参阅members[n].priority
特权
指定资源和该资源上允许执行的操作的组合。请参阅特权。
投影
提供给 查询 的文档,用于指定 MongoDB 在结果集中返回的字段。有关投影的更多信息,请参阅投影要从查询和 投影操作符 返回的字段 。
查询
读取请求。 MongoDB 使用JSON形式的查询语言,其中包含名称以$字符开头的查询运算符。在mongosh中,您可以使用db.collection.find()db.collection.findOne()方法运行查询。请参阅查询文档。
查询框架
处理操作的查询优化器和查询执行引擎的组合。
查询运算符
查询中以 $ 开头的关键字。例如,$gt 是“大于”运算符。有关查询运算符的列表,请参阅查询运算符。
查询优化器
生成查询计划的过程。对于每个查询,优化器都会生成一个计划,该计划将查询与索引进行匹配,以尽可能高效地返回结果。优化器在每次查询运行时重复使用该查询计划。如果集合发生重大更改,优化器将创建新的查询计划。请参阅查询计划
查询计划
查询规划器选择的最有效的执行计划。更多详细信息,请参阅查询计划
查询结构

查询谓词、排序、投影和排序规则的组合。查询结构允许 MongoDB 识别逻辑上等效的查询并分析其性能。

关于查询谓词,只有谓词的结构(包括字段名)重要,查询谓词的值无关紧要。因此,对于一个查询结构,查询谓词 { type: 'food' } 等效于查询谓词 { type: 'utensil' }

为了帮助识别具有相同查询结构的慢查询,从 MongoDB 4开始。 2 ,每个查询结构都与一个 queryHash 关联。 queryHash是一个十六进制字符串,表示查询结构的哈希值,并且仅依赖于查询结构。

注意

与任何哈希函数一样,两个不同的查询结构可能会产生相同的哈希值。但是,不同查询结构之间不太可能发生哈希冲突。

范围
数据段中连续的分 片键值 范围。数据范围包括下边界,不包括上边界。当某个分片包含 的集合数据相对其他分片过多 时,MongoDB 会迁移数据。请参阅使用数据段和 分片集群负载均衡器 进行数据分区 。
RDBMS
关系数据库管理系统。基于关系模型的数据库管理系统,通常使用SQL作为查询语言。
读关注 (read concern)
指定读操作的隔离级别。例如,您可以使用读关注来仅读取已传播到副本集中大多数节点的数据。请参阅读关注。
读锁
资源(例如集合或数据库)上的共享,在持有该锁时,允许并发读取但不允许写入。请参阅MongoDB 使用什么类型的锁定?。
读取偏好
确定客户端如何引导读取操作的设置。读取偏好会影响所有副本集,包括分片副本集。默认情况下,MongoDB 会将读取定向到主节点。但是,您也可以将读取定向到从节点,以实现最终一致的读取。请参阅读取偏好。
恢复
一种副本集节点状态,表示节点尚未准备好开始从节点或主节点的活动。恢复成员不可用于读取。
复制集
实施复制和自动故障转移的 MongoDB server 集群。MongoDB 推荐的复制策略。请参阅复制
复制
该功能允许多个数据库服务器共享相同数据。复制可确保数据冗余并实现负载均衡。请参阅复制。
复制延迟
节点 oplog的最后一次操作与应用于特定从节点的最后一次操作之间的时间段。您通常希望复制延迟尽可能短。请参阅复制延迟。
常驻内存
当前存储在物理 RAM 中的应用程序内存的子集。常驻内存是虚拟内存的一个子集,其中包括映射到物理 RAM 和存储的内存。
资源
数据库、集合、集合集或集群。特权允许对指定资源执行操作。请参阅资源。
角色
允许对指定 资源 执行操作 的一组权限。分配给用户的角色决定了用户对资源和操作的访问权限。请参阅 安全。
回滚
恢复写入操作以确保所有副本集节点的一致性的过程。请参阅副本集故障转移期间的回滚。
从节点
复制主数据库内容的副本集节点。从节点成员可以运行读取请求,但只有主节点成员可以运行写入操作。请参阅从节点。
二级索引
一种数据库索引,它可最大限度地减少查询引擎为运行查询而必须执行的工作量,从而提高查询性能。请参阅索引。
从节点
请参阅从节点。也称为从节点。
种子列表
驱动程序和客户端(如mongosh )使用种子列表来初始发现副本集配置。种子列表可以采用host:port对列表的形式提供(请参阅标准连接字符串格式或通过 DNS 条目提供)。有关更多信息,请参阅SRV 连接格式。
集名称
为副本集指定的任意名称。副本集的所有成员必须具有相同名称,该名称通过 replSetName 设置或 --replSet 选项指定。
分片
存储分 片集群mongod 总数据集一部分的单个 实例或 副本 集。通常,在生产部署中,确保所有分片都是副本集的一部分。请参阅 分片。
片键
该字段 MongoDB 用于在分片集群成员之间分发文档。请参阅分片键。
分片集群
包含分片 MongoDB部署的节点集。分片集群由配置服务器、分片和一个或多个mongos路由进程组成。请参阅分片集群组件。
分片
一种按键范围对数据进行分区并将数据分布于两个或更多数据库实例的数据库架构。分片可以实现水平扩展。请参阅分片。
shell 助手
mongosh 中的一种方法,可为数据库命令提供更简洁的语法。 Shell 助手改进了总体交互体验。请参阅mongosh方法。
单主复制
一种复制拓扑结构,其中只有一个数据库实例接受写入。单主复制可确保一致性,是 MongoDB 使用的复制拓扑结构。请参阅副本集主节点。
snappy
压缩/解压缩库,用于平衡高效计算要求与合理的压缩率。 Snappy 是 MongoDB 使用 WiredTiger 的默认压缩库。请参阅 Snappy WiredTiger 压缩文档 以了解更多信息。
snapshot
快照是特定时间点的mongod实例中的数据副本。您可以检索整个集群或副本集的快照元数据,也可以检索集群中单个配置服务器的快照元数据。
拆分
片集群 中 数据段之间的划分。请参阅 使用数据段进行数据分区。
结构化查询语言
结构化查询语言 (SQL) 用于与关系数据库进行交互。
固态硬盘
固态硬盘。一种高性能存储,它通过固态电子器件实现持久性,而不是通过机械硬盘所使用的旋转盘片和可移动读/写头。
stale read
过时读是指一个事务读取已被另一个事务修改但尚未提交到数据库的旧(过时)数据。
单节点
mongod作为单个服务器而不是 副本集 的一部分运行的 实例。要将其转换为副本集,请参阅 将独立运行的 mongod 转换为副本集。
储藏集合
重分片时可能创建的临时集合。重分片成功完成后,在操作过程中创建的任何储藏集合都会被移除。
存储引擎
数据库中负责管理内存和磁盘中数据存储和访问方式的部分。不同存储引擎的性能表现因工作负载而异。有关 MongoDB 中内置存储引擎的详细信息,请参阅存储引擎
存储顺序
请参阅自然顺序。
严格一致性
分布式系统的一个属性,要求所有节点都包含系统的最新变更。在数据库系统中,这意味着可以提供数据的任何系统都必须包含最新写入内容。
主题备用名称
主题备用名称 (SAN) 是 X.509 证书的扩展项,允许使用 IP 地址和域名等值的数组来指定单个安全证书可以保护的资源。
同步
成员从 节点复制数据的 副本集 操作。同步首先发生在 MongoDB 创建或恢复成员时,称为 初始同步 。然后同步持续进行,以使该节点随时了解副本集数据的变化。请参阅 副本集数据同步。
syslog
在类 UNIX 系统上,为服务器和进程提交日志信息提供统一标准的一种日志记录进程。MongoDB 提供将输出发送到主机的系统日志系统的选项。请参阅 syslogFacility
标签

应用于副本集节点的标签,由客户端用来执行数据中心感知操作。有关对副本集使用标签的更多信息,请参阅读取偏好标签集列表。

在 MongoDB 3中。 4 ,分片集群区域替换标记。

标签集
包含零个或多个标签的文档。
可追加游标
对于固定大小集合,可追加游标是在客户端耗尽初始游标中的结果后仍保持打开状态的游标。当客户端将新文档插入固定大小集合时,可追加游标会继续检索文档。
任期
对于副本集的节点,这是一个单调递增的数字,对应于一次选举尝试。
时间序列集合
有效存储一段时间内的测量序列的集合。请参阅时间序列。
拓扑结构

MongoDB 实例的部署状态。包括:

  • 部署类型(独立运行、副本集、分片集群)。

  • 服务器的可用性。

  • 每台服务器的角色(节点、从节点配置服务器mongos )。

事务
一系列读取或写入操作。有关详细信息,请参阅事务。
事务协调器
MongoDB 的一个组件,用于管理 副本集分片集群 中的 事务 。它协调跨节点多文档事务的执行和完成,并允许将复杂操作视为 原子操作。
制表符分隔值 (TSV)
一种基于文本的数据格式,由制表符分隔的值组成。这种格式通常用于在关系数据库之间交换数据,因为它适合表格数据。您可以使用mongoimport导入 TSV 文件。
TTL
生存时间 (TTL) 是在给定信息过期或系统将其删除之前保留在缓存或其他临时存储中的到期时间或期限。MongoDB 具有 TTL 集合功能。请参阅通过设置 TTL 使集合中的数据过期
无界数组
随着时间推移不断变大的数组。如果文档字段值是一个无界数组,该数组可能会对性能产生负面影响。通常,设计的模式需要避免无界数组。
唯一索引
在单个集合中为特定字段实施唯一性的索引。请参阅唯一索引
Unix 纪元
世界标准时间 1970 年 1 月 1 日 00:00:00。常用于表示时间,即从该时间点开始计算的秒数或毫秒数。
无序查询计划
一种查询计划,其返回结果的顺序与 sort() 顺序不一致。请参见查询计划。
更新插入

用于更新操作的选项。例如:db.collection.updateOne()db.collection.findAndModify()。如果 upsert 为true ,则更新操作执行以下任一操作:

  • 更新与查询匹配的文档。

  • 或者,如果没有匹配的文档,则插入一个新文档。新文档具有在更新操作中指定的字段值。

有关 upsert 的更多信息,请参阅若没有匹配文档则插入新文档 (Upsert)

虚拟内存
应用程序的工作内存,通常驻留在磁盘和物理 RAM 中。
WGS84
MongoDB 的默认参考系和大地基准面,用于在类地球球体上计算几何图形,以进行 GeoJSON 对象的地理空间查询。请参阅“EPSG:4326 : WGS84 ”规范: http://spatialreference.org/ref/epsg/4326 /
窗口运算符
返回集合中一系列文档的值。参见窗口运算符
工作集
MongoDB 最常使用的数据。
写入安全机制
指定写入操作是否已成功。写关注允许应用程序检测插入错误或不可用的mongod实例。对于副本集,您可以配置写关注以确认复制到指定数量的成员。请参阅写关注。
写冲突 (write conflict)
两个并发操作(其中至少有一个是写入操作)尝试使用的资源违反了使用乐观并发控制的存储引擎的约束条件。 MongoDB 会自动结束并重试其中一个冲突的写入操作。
写锁
对资源(例如集合或数据库)的独占。当一个进程写入资源时,它会使用独占写锁来防止其他进程写入或读取该资源。有关锁的更多信息,请参阅常见问题解答:并发。
写回
分片系统中的进程,确保发送到负责相关数据段的分片的写入应用于正确的分片。有关详细信息,请参阅日志中的writebacklisten是什么意思?writeBacksQueued。
zlib
一个数据压缩库,与 MongoDB 使用 snappy 相比,它以更多 CPU 为代价提供更高的压缩率。您可以将 WiredTiger 配置为使用 zlib 作为其压缩库。请参阅 http://www.zlib.net WiredTiger 压缩文档 以了解更多信息。
区域

基于给定分片集合的分片键值范围的文档分组。分片集群中的每个分片都可以位于一个或多个区域中。在均衡集群中,MongoDB 仅将某个区域的读取和写入定向到该区域内的那些分片。有关更多信息,请参阅区域手册页。

区域取代 MongoDB 3中标签描述的功能。 2 。

zstd

4.2 版本中的新增功能

一种数据压缩库,与zlib 相比,可提供更高的压缩率和更低的 CPU 使用率。

← 错误代码