Docs 菜单
Docs 主页
/
MongoDB Manual
/

mongosh 方法

在此页面上

  • Atlas Search 索引方法
  • Atlas Stream Processing 方法
  • Collection
  • Cursor
  • Database
  • 查询计划缓存
  • 批量写入操作
  • 用户管理
  • 角色管理
  • 复制
  • 分片
  • 构造函数
  • 连接
  • 客户端字段级加密 (Client-Side Field Level Encryption)

注意

MongoDB 中的 JavaScript

尽管这些方法使用 JavaScript,但与 MongoDB 的大多数交互不使用 JavaScript,而是使用交互应用程序语言中的惯用驱动程序。

注意

有关特定方法(包括事务语法和示例)的详细信息,请单击该方法的参考页面链接。

Atlas Search 索引允许您在Atlas Search中查询数据。 Atlas Search 索引通过将搜索词映射到包含这些词的文档来实现高性能文本搜索查询。

使用以下方法管理 Atlas Search 索引。

名称
说明
db.collection.createSearchIndex()

在指定集合上创建 Atlas Search 索引。

删除现有 Atlas Search 索引。

返回指定集合上现有 Atlas Search 索引的信息。

更新现有 Atlas Search 索引。

Atlas 数据流处理器可让您使用与静态数据相同的数据模型和查询 API,对连续数据流执行聚合操作。

使用以下方法管理流处理器:

重要

以下方法只能在 MongoDB Atlas 托管的部署上运行。

名称
说明
创建流处理器。
列出当前流处理实例上的所有现有流处理器。
创建临时流处理器。
删除现有的流处理器。
从当前正在运行的流处理器返回采样结果的数组。
启动现有的流处理器。
返回总结现有流处理器的统计信息。
停止当前正在运行的流处理器。
名称
说明
计算用于求值分片键的指标。
提供对聚合管道的访问权限。
提供批量写入操作功能。
封装 compactStructuredEncryptionData,返回成功或失败对象。
为集合配置查询采样。
封装 count,返回集合中或视图中文档的计数。
使用 $sum 表达式封装 $group 聚合阶段,返回集合或视图中文档的计数。
在集合上构建索引。
为集合构建一个或多个索引。
返回集合的大小。封装 collStats 的输出中的 size 字段。
删除集合中的单个文档。
删除集合中的多个文档。
返回具有指定字段的不同值的文档数组。
从数据库中删除指定的集合。
删除集合的指定索引。
删除集合上的所有索引。
已删除。使用 db.collection.createIndex()
封装 count,返回集合或视图中文档的大致计数。
返回各种方法的查询执行信息。
对集合或视图执行查询,并返回游标对象。
以原子方式修改并返回单个文档。
执行查询并返回单个文档。
查找并更新单个文档。
查找并更新单个文档。
查找并更新单个文档。
返回说明集合上现有索引的一组文档。
对于分片集群中的集合,db.collection.getShardDistribution() 报告数据段分布的数据。
分片集群的内部诊断方法。
在查询规划器中隐藏索引。
将新文档插入集合。
将多份文档插入集合。
报告集合是否为固定大小集合
返回集合的延迟统计信息。
执行 map-reduce 样式的数据聚合。
重新构建集合上的所有现有索引。
从集合删除文档。
更改集合的名称。
替换集合中的单个文档。
报告集合的状态。提供 collStats 的封装器
报告集合使用的总大小(以字节为单位)。提供 collStats 输出的 storageSize 字段的封装器。
报告集合上索引使用的总大小。提供 collStats 输出的 totalIndexSize 字段的封装器。
报告集合的总大小,其中包括集合中所有文档和所有索引的大小。
从查询规划器中取消隐藏索引。
修改集合中的单个文档。
修改集合中的多个文档。
在集合上建立变更流。
对集合执行诊断操作。
名称
说明
添加可修改查询行为的特殊传输协议标志。
允许 MongoDB 在处理阻塞排序操作时使用磁盘上的临时文件来存储超过 100 MB 系统内存限制的数据。
如果一个或多个查询的分片不可用,则允许对分片集合进行 db.collection.find() 操作,以返回部分结果,而不是错误。
控制 MongoDB 将在单个网络消息中返回到客户端的文档数量。
关闭游标并释放关联的服务器资源。
如果游标关闭,则返回 true
指定 db.collection.find() 返回的游标的排序规则。
将注释附加到查询,以允许在日志和 system.profile 集合中进行跟踪。
修改游标,以返回结果集中的文档数量,而不是文档本身。
报告游标的查询执行计划。
对游标中的每个文档应用 JavaScript 函数。
如果游标包含文档且可迭代,则返回 true。
强制 MongoDB 对查询使用特定索引。
如果游标已关闭批处理中没有剩余对象,则返回 true
通过获取和迭代结果集,计算游标客户端中的文档总数。
限制游标结果集的大小。
将函数应用于游标中的每个文档,并收集数组中的返回值。
指定游标的排除式索引上限。用于结合使用 cursor.hint()
指定在游标上处理操作的累计时间限制(以毫秒为单位)。
指定游标的包含式索引下限。用于结合使用 cursor.hint()
返回游标中的下一个文档。
指示服务器避免在一段时间不活动后自动关闭游标。
返回当前游标批处理中剩余文档的数量。
将游标配置为以易于阅读的格式显示结果。
find() 操作指定读关注
为游标指定读取偏好,以控制客户端如何将查询定向到副本集
修改游标以返回索引键而不是文档。
向游标返回的每个文档添加内部存储引擎 ID 字段。
应用 skip()limit() 方法后,返回游标中文档的计数。
返回一个游标,该游标仅在传递或跳过多个文档后才开始返回结果。
根据排序规范返回排序的结果。
将游标标记为循环式。仅对超过固定大小集合的游标有效。
返回一个数组,其中包含游标返回的所有文档。
名称
说明
admin 数据库运行命令。
运行不需要底层集合的管理/诊断管道。
返回数据库命令的帮助信息。
创建新的集合或视图。通常用于创建固定大小集合。
创建视图。
报告当前正在进行的操作。
删除当前数据库。
刷新写入磁盘并锁定数据库,以防止写入操作并协助备份操作。封装 fsync
支持在使用 db.fsyncLock() 锁定的数据库上继续写入。
返回集合或视图对象。用于访问名称在 mongosh 中无效的集合。
返回当前数据库中所有集合和视图的集合信息。
列出当前数据库中的所有集合和视图。
返回该日志消息详细程度。
返回当前连接的 Mongo() 连接对象。
返回当前数据库的名称。
返回反映当前分析级别和分析阈值的文档。
返回包含复制统计数据的文档。
提供对指定数据库的访问权限。
返回报告副本集状态的文档。
显示常见 db 对象方法的说明。
返回一个文档,其中包含有关运行 MongoDB 的系统的信息。封装 hostInfo
终止指定的操作。
显示常用数据库命令列表。
已弃用。结束已经过身份验证的会话。
打印每个集合的统计信息。封装 db.collection.stats()
从主节点的角度打印副本集的状态报告。
从从节点的角度打印副本集的状态。
打印分片配置和数据段范围的报告。
在 MongoDB 5.0 中删除。重置上次错误状态。
执行在线 TLS 证书轮换。封装 rotateCertificates
返回显示 mongod 实例的编译参数的文档。封装 buildInfo
返回一个文档,其中包含有关用于启动 MongoDB 实例的运行时的信息。封装 getCmdLineOpts
返回体现数据库进程状态概况的文档。
设置单个日志消息详细级别。
修改数据库分析的当前级别。
安全彻底地关闭当前 mongodmongos 进程。
返回报告当前数据库状态的文档。
返回 mongod 实例的版本。
打开变更流游标,以便数据库报告其所有非 system 集合的情况。无法在 adminlocalconfig 数据库中打开。
名称
说明
返回一个接口,用于访问查询计划缓存对象和集合的相关 PlanCache 方法。
清除集合的所有缓存查询计划。可通过特定集合的计划缓存对象访问,即 db.collection.getPlanCache().clear()
清除指定计划缓存查询结构的缓存查询计划。可通过特定集合的计划缓存对象访问,即db.collection.getPlanCache().clearPlansByQuery()
显示可用于集合的查询计划缓存的方法。可通过特定集合的计划缓存对象访问,即 db.collection.getPlanCache().help()
返回集合的计划缓存信息。可通过特定集合的计划缓存对象访问,即 db.collection.getPlanCache().list()
名称
说明
为有序的操作列表初始化 Bulk() 操作构建器。
为无序的操作列表初始化 Bulk() 操作构建器。
批量操作构建器。
批量执行操作列表。
指定更新或删除操作的查询条件。
指定筛选器,确定要为 updateupdateOne 操作更新数组的哪些元素。
指定查询条件的排序规则
将多文档删除操作添加到操作列表中。
将单个文档删除操作添加到操作列表中。
指定用于更新/替换操作的索引。
Bulk.find.delete() 的别名。
Bulk.find.deleteOne() 的别名。
将单个文档替换操作添加到操作列表中。
将单文档更新操作添加到操作列表中。
multi 更新操作添加到操作列表中。
为更新操作指定 upsert: true
返回在 Bulk() 操作对象中执行的写入操作数组。
将插入操作添加到操作列表中。
返回 JSON 文档,其中包含 Bulk() 操作对象中的操作和批次数。
以字符串形式返回 Bulk.toJSON() 结果。
名称
说明
验证数据库的用户身份。
更改现有用户的密码。
创建新用户。
删除单个用户。
删除与数据库关联的所有用户。
返回指定用户的信息。
返回与数据库关联的所有用户的信息。
向用户分配角色及其特权。
已弃用。从数据库中删除用户。
从用户中删除角色。
更新用户数据。
提示将密码作为直接在各种 mongosh 用户身份验证/管理方法中指定密码的替代方法。
名称
说明
创建角色并指定其特权。
删除用户定义的角色。
删除与数据库关联的所有用户定义的角色。
返回指定角色的信息。
返回数据库中所有用户定义角色的信息。
为用户定义的角色分配特权。
从用户定义的角色中删除指定特权。
指定用户定义角色继承相关特权的角色。
从角色中删除继承的角色。
更新用户定义的角色。
名称
说明
将节点添加到副本集。
仲裁节点添加到副本集。
返回副本集配置文档。
阻止当前节点在一段时间内寻求选举为主节点。
返回副本集函数的基本帮助文本。
初始化新的副本集。
从主节点的角度打印副本集状态的格式化报告。
从从节点的角度打印副本集状态的格式化报告。
通过应用新的副本集配置对象来重新配置副本集。
从副本集中删除节点。
返回包含副本集状态信息的文档。
导致当前的主节点变为强制选举的从节点。
设置该副本集节点与哪个节点进行同步,复写默认的同步目标选择逻辑。
名称
说明
返回输入的哈希值。

中止重新分片操作

版本 5.0 中的新增功能

停止正在进行的unshardCollection操作。

8.0版本新增

分片添加到分片集群。
此方法的别名为sh.addShardToZone()
将分片与区域关联。支持在分片集群中配置区域
此方法的别名为sh.updateZoneKeyRange()
返回有关分片集合的数据段是否均衡的信息。

强制重分区操作以阻止写入并完成。

版本 5.0 中的新增功能

禁用分片数据库中单个集合的均衡。不影响分片集群中其他集合的均衡。
如果之前使用 sh.disableBalancing() 禁用了分片集合负载均衡器进程,则激活此进程。

禁用命名空间的自动数据段合并。

7.0 版本中的新增功能

禁用分片集群自动分割。

从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。

命名空间启用自动数据段合并。

7.0 版本中的新增功能

启用分片集群自动分割。

从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。

创建数据库。
返回布尔值,报告当前使用已启用负载均衡器

返回分片集合的数据分布信息。sh.getShardedDataDistribution()$shardedDataDistribution 聚合管道阶段的 shell 助手。

此方法的别名为sh.removeRangeFromZone()
删除一系列分片键与一个区域之间的关联。支持在分片集群中配置区域
返回 sh 方法的帮助文本。
返回描述负载均衡器状态的文档。
迁移分片集群中的数据段
删除分片与区域之间的关联。用于管理区域分片

启动重新分片操作以更改集合的分片键,从而更改数据的分布。

版本 5.0 中的新增功能

启用或禁用在分片之间迁移数据段负载均衡器
为集合启用分片。
使用分片键的特定值作为分界点,将现有数据段分成两个数据段。
将包含与查询匹配的文档的现有数据段分成两个大致相等的数据段。

启用 AutoMerger

7.0 版本中的新增功能

启用负载均衡器并等待均衡开始。
分片集群的状态报告为 db.printShardingStatus()

禁用 AutoMerger

7.0 版本中的新增功能

禁用负载均衡器并等待任何正在进行的均衡轮次完成。

对现有分分片的集合进行取消分片,并将集合数据移动到单个分片片上。当您对集合取消分片时,该集合无法跨多个分片分区,并且分片分片键将被删除。

8.0版本新增

将一系列分片键与一个区域关联。支持在分片集群中配置区域
内部。等待负载均衡器状态发生变化。
内部。等待负载均衡器停止运行。
内部。等待分片集群中一个 mongos 的 ping 状态发生变化。
名称
说明
根据 base64 值创建二进制对象。
从十六进制值创建二进制对象。
来自 Bulk.execute() 的副本集的封装器。
创建日期对象。默认情况下,创建一个包含当前日期的日期对象。
根据 base64 值创建对象标识符
从十六进制值创建对象标识符
返回对象标识符的时间戳部分。
显示对象标识符的字符串表示。
将 32 字节十六进制字符串转换为 UUID BSON 子类型。
来自写入方法的副本集的封装器。
返回布尔值,指明结果是否包括 WriteResult.writeError
返回布尔值,指明结果是否包括 WriteResult.writeConcernError
名称
说明
连接到 MongoDB 实例以及该实例上的指定数据库。
创建新连接对象。
返回数据库对象。
返回 MongoDB 连接的当前读取偏好模式。
返回为该 MongoDB 连接设置的读取偏好标签集。
启用或禁用连接对象的因果一致性。
设置该 MongoDB 连接的读取偏好
对该连接对象启动会话。
打开部署的变更流游标,以报告其所有数据库中的所有非 system 集合,不包括内部 adminlocalconfig 数据库。
会话对象。
会话的选项对象。

注意

mongosh 客户端字段级加密方法需要启用客户端字段级加密的数据库连接。如果当前数据库连接在启动时未启用客户端字段级加密,则任选以下其一:

名称
说明
返回当前 MongoDB 连接的密钥保管库对象。
创建数据加密密钥,用于客户端字段级加密。
从密钥保管库中删除指定的数据加密密钥。
从密钥保管库中检索指定的数据加密密钥。
检索密钥保管库中的所有密钥。
将密钥的替代名称与指定的数据加密密钥关联。
从指定的数据加密密钥中删除密钥的替代名称。
检索具有指定密钥替代名称的密钥。
解密多个数据密钥并对其重新加密。
返回客户端加密对象,以支持字段的显式加密/解密。
创建包含加密字段的集合。
使用指定的数据加密密钥和加密算法对字段进行加密。
使用关联的数据加密密钥和加密算法对字段进行解密。

后退

传统操作码