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