ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs 菜单

db.adminCommand()

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是 特定于语言的驱动程序(例如 Node.js)的文档。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

db.adminCommand(command)

提供针对 admin 数据库运行指定数据库命令的辅助程序。

Parameter
类型
说明

command

文档或字符串

文档形式或字符串形式指定的数据库命令。如果指定为字符串,则命令不能包含任何参数。

此方法可用于以下环境中托管的部署:

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

db.adminCommand()针对admin数据库运行命令,而无论其运行在什么数据库上下文中。 以下命令是等效的:

db.getSiblingDB("admin").runCommand(<command>)
db.adminCommand(<command>)

有关可用管理数据库命令的列表,请参阅管理命令

注意

对于使用 authorization 运行的 mongodmongos,经过授权的用户必须拥有适当的权限才能运行此数据库命令。有关安全要求的更多信息,请参阅此命令的参考文档。

该方法返回包含以下字段的响应文档:

字段
说明

<command result=""></command>

特定于运行的 command 结果字段。

ok

表明命令成功 (1) 还是失败 (0) 的数字。

operationTime

操作的逻辑时间。MongoDB 使用逻辑时间对排序操作。仅适用于副本集和分片集群

如果命令不生成 oplog 条目,例如读操作,则该操作不会推进逻辑时钟。在这种情况下,operationTime 会返回:

对于与因果一致性会话相关的操作,MongoDB 驱动程序使用逻辑时间自动设置读取操作和 afterClusterTime 周期。

$clusterTime

返回已签名集群时间的文档。集群时间是用于操作排序的逻辑时间。仅适用于副本集和分片集群。仅供内部使用。

该文档包含以下字段:

  • clusterTime :节点的已知最高集群时间的时间戳。

  • signature :包含集群时间哈希以及用于对集群时间进行签名的密钥 ID 的文档。

下面的示例使用 db.adminCommand() 方法来执行 killOp 命令,以终止 opid 724 操作。killOp 是管理命令,必须针对 admin 数据库运行。

db.adminCommand( { "killOp": 1, "op": 724 } )

以下示例使用 db.adminCommand() 执行 renameCollection 管理数据库命令,将 test 数据库中的 orders 集合重命名为 orders-2016

db.adminCommand(
{
renameCollection: "test.orders",
to: "test.orders-2016"
}
)

以下示例使用 db.adminCommand() 方法在 admin 数据库中创建一个名为 bruce 并具有 dbOwner 角色的用户。

提示

您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

db.adminCommand(
{
createUser: "bruce",
pwd: passwordPrompt(), // or <cleartext password>
roles: [
{ role: "dbOwner", db: "admin" }
]
}
)