Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.adminCommand()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 响应
  • 示例

重要

mongosh 方法

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

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

db.adminCommand(command)

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

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

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

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

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

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

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

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

注意

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

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

字段
说明
<command result>
特定于运行的 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" }
]
}
)

后退

Databases