终止正在运行的联合数据库实例查询
您可以使用 killOp命令终止长时间运行的查询。 有关更多信息,请参阅killOp 。 在Atlas Data Federation中:
op
参数值是一个ObjectId。不支持
comment
参数。
如果您是管理员用户或具有killop
特权的用户,则可以终止对联合数据库的任何查询。 发出查询的用户也可以终止查询。 要运行此命令,请使用db.runCommand() 。 您必须对admin
数据库运行killOp 。
语法
db.runCommand({ "killOp": 1, "op": ObjectId(<hexadecimal>) })
选项
字段 | 类型 | 说明 | 必要性 |
---|---|---|---|
| 要终止的操作的唯一标识符,采用ObjectId格式。 您可以使用 $currentOp来检索要终止的操作的 | 必需 |
输出
如果killOp成功将指定操作标记为终止,则会返回以下内容:
{ "info" : "attempting to kill op", "ok" : 1 }
请注意,无论要终止的操作当前是否正在运行,输出都是相同的。 您可以使用$currentOp来验证操作是否已终止。
示例
对于以下示例,假设正在运行一个opid
值为ObjectId("1635fad364c529820c6f9e76")
的查询。 以下命令终止此查询。
use admin db.runCommand({ "killOp": 1, "op": ObjectId("1635fad364c529820c6f9e76") })
上一个命令会返回以下内容:
{ "info" : "attempting to kill op", "ok" : 1 }