方法
在此页面上
以下文档列出了 MongoDB Shell 中的可用方法。点击某个方法,即可查看 MongoDB 手册中的相关文档,包括语法和示例。
重要
重置 Shell 与服务器连接的方法,会触发所有打开的服务器会话的终止。会话结束时,所有正在进行的操作也将终止,如果启用了身份验证,则客户端必须重新进行身份验证。
以下方法可以重置 shell 的连接:
db.auth
Mongo.setReadPref
Mongo.setReadConcern
管理方法
方法 | 说明 |
---|---|
对 | |
报告当前正在进行的操作。 | |
终止指定的操作。 | |
刷新写入磁盘并锁定数据库,以防止写入操作并协助备份操作。 | |
支持在使用 |
Atlas Search 索引方法
Atlas Search 索引支持在 Atlas Search 中查询数据。Atlas Search 索引通过将搜索词映射到包含这些词的文档来实现高性能文本搜索查询。
使用以下方法管理 Atlas Search 索引。
重要
以下方法只能在 MongoDB Atlas 托管的部署上运行。
名称 | 说明 |
---|---|
在指定的集合上创建一个或多个 Atlas Search 索引。 | |
删除现有 Atlas Search 索引。 | |
返回指定集合上现有 Atlas Search 索引的信息。 | |
更新现有 Atlas Search 索引。 |
批量操作方法
方法 | 说明 |
---|---|
初始化并返回集合的新 | |
为集合初始化并返回新的 | |
创建批量操作构建者,用于构造要为单个集合批量执行的写入操作列表。要实例化构建器,请使用 | |
执行由 | |
指定更新或删除操作的查询条件。 | |
设置指定索引以支持批量操作的提示选项。 | |
将删除操作添加到批量操作列表中。 | |
将单个文档删除操作添加到批量操作列表中。 | |
将单个文档替换操作添加到批量操作列表中。 | |
将单个文档更新操作添加到批量操作列表中。 | |
将多重更新操作添加到批量操作列表。该方法将更新现有文档中的特定字段。 | |
将更新或替换操作的 upsert 选项设置为 | |
返回通过 | |
将插入操作添加到批量操作列表中。 | |
返回 JSON 文档,其中包含 | |
以字符串形式返回包含 |
集合方法
方法 | 说明 |
---|---|
提供对聚合管道的访问。 | |
提供批量写入操作功能。 | |
在 | |
返回集合或视图中文档的近似数量。 | |
在集合上构建索引。 | |
为集合构建一个或多个索引。 | |
删除集合中的单个文档。 | |
删除集合中的多个文档。 | |
返回具有指定字段的不同值的文档数组。 | |
从数据库中删除指定的集合。 | |
删除集合的指定索引。 | |
删除集合上的所有索引。 | |
已弃用。使用 | |
返回各种方法的查询执行信息。 | |
对集合或视图执行查询,并返回游标对象。 | |
以原子方式修改并返回单个文档。 | |
执行查询并返回单个文档。 | |
查找并更新单个文档。 | |
查找并更新单个文档。 | |
查找并更新单个文档。 | |
返回说明集合上现有索引的一组文档。 | |
打印分片集合的数据分布统计信息。 | |
返回有关分分片集群中数据状态的信息。 | |
在集合中插入新文档。 | |
在集合中插入多份新文档。 | |
报告集合是否为固定大小集合。 | |
对集合运行 map-reduce 聚合操作。 | |
重新构建集合上的所有现有索引。 | |
更改集合的名称。 | |
替换集合中的单个文档。 | |
关于集合状态的报告。提供 | |
报告集合使用的总大小(以字节为单位)。提供 | |
报告集合上索引使用的总大小。提供 | |
报告集合的总大小,其中包括集合中所有文档和所有索引的大小。 | |
修改集合中的单个文档。 | |
修改集合中的多个文档。 | |
验证集合。 | |
打开集合的变更流游标。 |
连接方法
方法 | 说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
JavaScript 构造函数,用于从
| ||||||||||
返回数据库对象。 | ||||||||||
设置 MongoDB 连接的读取偏好。 | ||||||||||
为副本集或分片集群打开变更流游标,以报告其数据库中的所有非系统集合, |
游标方法
方法 | 说明 | |
---|---|---|
添加可修改查询行为的特殊传输协议标记。 | ||
如果一个或多个查询的分片不可用,则允许对分片集合进行 | ||
控制 MongoDB 将在单个网络消息中返回到客户端的文档数量。 以下示例查询以 100 个为一批返回结果:
| ||
关闭游标并释放关联的服务器资源。 | ||
指定 | ||
将注释附加到查询,以允许在日志和 system.profile 集合中进行跟踪。 | ||
修改游标,以返回结果集中的文档数量,而不是文档本身。 | ||
报告游标的查询执行计划。 | ||
对游标中的每个文档应用 JavaScript 函数。 | ||
如果游标包含文档且可迭代,则返回 | ||
强制 MongoDB 对查询使用特定索引。 | ||
如果游标关闭,则返回 | ||
如果游标已关闭且批处理中没有剩余对象,则返回 | ||
通过获取和迭代结果集,计算游标客户端中的文档总数。 | ||
限制游标结果集的大小。 | ||
将函数应用于游标中的每个文档,并收集数组中的返回值。 | ||
指定游标的排除式索引上限。用于结合使用 | ||
指定在游标上处理操作的累计时间限制(以毫秒为单位)。 | ||
指定游标的包含式索引下限。用于结合使用 | ||
返回游标中的下一个文档。 | ||
指示服务器避免在一段时间不活动后自动关闭游标。 | ||
返回当前游标批处理中剩余文档的数量。 | ||
为 | ||
修改游标以返回索引键而不是文档。 | ||
向游标返回的每个文档添加内部存储引擎 ID 字段。 | ||
返回一个游标,该游标仅在传递或跳过多个文档后才开始返回结果。 | ||
根据排序规范返回排序的结果。 | ||
将游标标记为循环式。仅对超过固定大小集合的游标有效。 | ||
返回一个数组,其中包含游标返回的所有文档。 |
数据库方法
方法 | 说明 |
---|---|
运行不需要底层集合的管理/诊断管道。 | |
创建新的集合或视图。 | |
将指定的聚合管道应用于源集合或视图后,创建一个视图。 | |
显示指定数据库命令的帮助文本。 | |
删除当前数据库。 | |
返回集合或视图对象。用于访问 | |
返回当前数据库中所有集合和视图的集合信息。 | |
列出当前数据库中的所有集合和视图。 | |
返回当前数据库连接。 | |
返回当前日志冗余度设置。 | |
返回当前数据库的名称。 | |
返回当前的分析级别、slowOpThresholdMs 设置和 slowOpSampleRate 设置。 | |
提供对指定数据库的访问权限。 | |
提供所有数据库命令的列表。 | |
结束已经过身份验证的会话。 | |
打印分片配置的格式化报告以及有关分片集群中现有数据段的信息。 | |
运行数据库命令。 | |
为日志消息设置单一的详细程度。 | |
配置数据库分析器级别、slowms 和 sampleRate。 | |
打开变更流游标获取数据库,以针对所有非系统集合提供报告。 |
正在使用的加密方法
注意
限制
仅当
mongosh
连接到 Atlas 集群或 MongoDB Enterprise Server 时,自动加密才可用。有关详细信息,请参阅客户端字段级自动加密。本部分列出的方法用于手动加密,并且在非企业服务器上受支持。通过 Homebrew 安装的
mongosh
无法使用自动加密。字段级加密仅在
mongosh
二进制文件中可用,在嵌入式 Compass shell 中不可用。
方法 | 说明 |
---|---|
创建包含加密字段的集合。 | |
如果将当前数据库连接配置为具有对密钥管理服务 (KMS) 和用于加密 | |
使用下列指定的 | |
返回当前数据库集合的 | |
返回当前数据库连接的 | |
将 | |
将数据加密密钥添加到与数据库连接关联的密钥保管库中。 | |
从与数据库连接关联的密钥保管库中删除具有指定 UUID 的数据加密密钥。 | |
获取具有指定 UUID 的数据加密密钥。数据加密密钥必须存在于与数据库连接关联的密钥保管库中。 | |
获取具有指定 | |
返回在与数据库连接关联的密钥保管库中存储的所有数据加密密钥。 | |
从具有指定 UUID 的数据加密密钥中删除指定的 |
原生方法
方法 | 说明 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 返回以下 JSON 格式的文档,描述
| |||||||||||||||||||
| 将当前工作目录更改为指定路径。 | |||||||||||||||||||
| 返回一个布尔值,指示 mongosh 是否以交互或脚本模式运行。 | |||||||||||||||||||
| 在 shell 中加载并运行 JavaScript 文件。 在 旧版 | |||||||||||||||||||
| 打印指定的文本或变量。
| |||||||||||||||||||
| 返回活动 Shell 会话的当前工作目录。 | |||||||||||||||||||
| 退出当前 Shell 会话。 | |||||||||||||||||||
| 在给定时间段内暂停 | |||||||||||||||||||
| 返回当前版本的 |
查询计划缓存方法
复制方法
方法 | 说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
将成员添加到副本集。要运行此方法,必须连接到副本集的主成员。 | ||||||||||||
将仲裁节点添加到现有副本集。 | ||||||||||||
返回包含当前副本集配置的文档。 | ||||||||||||
使连接 | ||||||||||||
从 oplog 数据返回副本集的状态。 | ||||||||||||
初始化新的副本集。 | ||||||||||||
返回 | ||||||||||||
返回 | ||||||||||||
| 返回副本集的从节点的状态。 这与 以下示例是
| |||||||||||
| 返回副本集的从节点的状态。 这与 以下示例是
| |||||||||||
修改现有副本集的配置。 | ||||||||||||
从副本集中删除由主机名指定的节点。 | ||||||||||||
返回 | ||||||||||||
将副本集的主成员设置为从成员。要运行此方法,必须连接到主成员。 | ||||||||||||
将同步目标重置为由连接 |
角色管理方法
方法 | 说明 |
---|---|
创建角色并指定其特权。 | |
删除用户定义的角色。 | |
删除与数据库关联的所有用户定义的角色。 | |
返回指定角色的信息。 | |
返回数据库中所有用户定义角色的信息。 | |
为用户定义的角色分配特权。 | |
从用户定义的角色中删除指定特权。 | |
指定用户定义角色继承相关特权的角色。 | |
从角色中删除继承的角色。 | |
更新用户定义的角色。 |
会话对象方法
方法 | 说明 |
---|---|
为连接启动会话。 | |
更新操作时间。 | |
结束会话。 | |
返回会话读到的最新集群时间。 | |
从 shell 中的会话访问指定数据库。 | |
返回会话最后一次确认操作的时间戳。 | |
返回会话的选项。 | |
返回一个布尔值,指明会话是否已结束。 | |
shell 会话的选项。要访问 |
服务器状态方法
原生分片集群方法
方法 | 说明 |
---|---|
向分片集群添加分片。 | |
别名为 | |
将分片与区域关联。支持在分片集群中配置区域。 | |
返回有关分片集合的数据段是否均衡的信息。 4.4 版本新增。 | |
禁用命名空间的自动数据段合并。 7.0 版本中的新增功能。 | |
禁用分片集群自动分割。 | |
禁用分片数据库中单个集合的平衡。不影响分片集群中其他集合的平衡。 | |
为命名空间启用自动数据段合并。 7.0 版本中的新增功能。 | |
启用分片集群自动分割。 | |
如果之前已使用 | |
在特定数据库上启用分片。 | |
返回一个布尔值,用于报告负载均衡器当前是否已启用。 | |
返回分片集合的数据分布信息。 | |
返回一个布尔值,用于报告负载均衡器进程当前是否正在迁移数据块。 | |
删除一系列分片键值与区域之间的关联。 | |
删除分片与区域之间的关联。 | |
删除标签和分片之间的关联。 | |
移除使用 | |
为集合启用分片。 | |
将包含与某一查询匹配的文档的现有数据块分成两个大致相等的数据块。 | |
启用 AutoMerger。 7.0 版本中的新增功能。 | |
启用负载均衡器。 | |
报告分片集群的状态。 | |
禁用 AutoMerger。 7.0 版本中的新增功能。 | |
禁用负载均衡器。此操作不会等待负载均衡器完成任何正在进行的操作,并且可能会终止正在进行的操作。 | |
将一系列分片键与区域关联。支持在分片集群中配置区域。 |
遥测方法
这些方法可配置 mongosh
是否跟踪匿名遥测数据。默认情况下启用遥测。
有关 mongosh
可通过遥测追踪的数据类型详细信息,请参阅配置遥测选项。
方法 | 说明 |
---|---|
为 | |
为 |
事务方法
用户管理方法
重要
mongosh
当前不支持 passwordPrompt()
方法。因此,使用以下方法时,必须将密码指定为参数:
方法 | 说明 |
---|---|
验证数据库的用户身份。 | |
更改现有用户的密码。 | |
创建新用户。 | |
删除与数据库关联的所有用户。 | |
删除单个用户。 | |
返回指定用户的信息。 | |
返回与数据库关联的所有用户的信息。 | |
更新指定用户的数据。 | |
向用户分配角色及其特权。 | |
从用户中删除角色。 |