- Administration >
- Configuration and Maintenance >
- Terminate Running Operations
Terminate Running Operations¶
On this page
概述¶
MongoDB provides two facilitates to terminate running operations: maxTimeMS() and db.killOp(). Use these operations as needed to control the behavior of operations in a MongoDB deployment.
Available Procedures¶
maxTimeMS¶
2.6 新版功能.
The maxTimeMS() method sets a time limit for an operation. When the operation reaches the specified time limit, MongoDB interrupts the operation at the next interrupt point.
Terminate a Query¶
From the mongo shell, use the following method to set a time limit of 30 milliseconds for this query:
db.location.find( { "town": { "$regex": "(Pine Lumber)",
"$options": 'i' } } ).maxTimeMS(30)
Terminate a Command¶
Consider a potentially long running operation using distinct to return each distinct collection field that has a city key:
db.runCommand( { distinct: "collection",
key: "city" } )
You can add the maxTimeMS field to the command document to set a time limit of 45 milliseconds for the operation:
db.runCommand( { distinct: "collection",
key: "city",
maxTimeMS: 45 } )
db.getLastError() and db.getLastErrorObj() will return errors for interrupted options:
{ "n" : 0,
"connectionId" : 1,
"err" : "operation exceeded time limit",
"ok" : 1 }
killOp¶
The db.killOp() method interrupts a running operation at the next interrupt point. db.killOp() identifies the target operation by operation ID.
db.killOp(<opId>)
警告
Terminate running operations with extreme caution. Only use db.killOp() to terminate operations initiated by clients and do not terminate internal database operations.