currentOp

On this page本页内容

Definition定义

currentOp

Returns a document that contains information on in-progress operations for the mongod instance.返回包含mongod实例正在进行的操作信息的文档

currentOp has the following form:具有以下形式:

{ currentOp: 1 }
Note注意

Starting in MongoDB 5.0, the $currentOp aggregation stage is used when running the helper method db.currentOp() with mongosh.从MongoDB 5.0开始,在mongosh中运行助手方法db.currentOp()时使用$currentOp聚合阶段。

Given this, in the 5.0 version of the shell and with mongosh, db.currentOp() result sets are not subject to the 16MB BSON document return size document return size limit for documents of the previous legacy mongo versions.鉴于此,在5.0版本的shell和mongosh中,db.currentOp()结果集不受以前遗留mongo版本文档的16MB BSON文档返回大小文档返回大小限制。

Behavior行为

currentOp must run against the admin database, and it can accept several optional fields.必须针对admin数据库运行,并且它可以接受几个可选字段。

Field字段Description描述
"$ownOps"

Boolean. 布尔值。If set to true, returns information on the current user's operations only.如果设置为true,则仅返回当前用户操作的信息。

On mongod instances, users are always authorized to run currentOp with "$ownOps": true to view their own operations. mongod实例上,用户总是被授权使用"$ownOps": true运行currentOp,以查看自己的操作。See access control.请参阅访问控制

"$all"

Boolean. 布尔值。If set to true, returns information on all operations, including operations on idle connections and system operations.如果设置为true,则返回所有操作的信息,包括空闲连接操作和系统操作。

"$all": true overrides any output field filters.覆盖任何输出字段筛选器。

<filter>Specify filter conditions on the Output Fields. 输出字段上指定筛选条件。See Examples. 请参见示例
comment

Optional. 可选。A user-provided comment to attach to this command. 用户提供了附加到此命令的注释。Once set, this comment appears alongside records of this command in the following locations:设置后,此注释将与此命令的记录一起显示在以下位置:

A comment can be any valid BSON type(string, integer, object, array, etc).注释可以是任何有效的BSON类型(字符串、整数、对象、数组等)。

New in version 4.4.在版本4.4中新增

currentOp and the database profiler report the same basic diagnostic information for all CRUD operations, including the following:数据库探查器报告所有CRUD操作的相同基本诊断信息,包括以下内容:

These operations are also included in the logging of slow queries (see slowOpThresholdMs for more information about slow query logging).这些操作也包含在慢速查询的日志记录中(有关慢速查询日志记录的更多信息,请参阅slowOpThresholdMs)。

Access Control访问控制

On systems running with authorization, the user must have access that includes the inprog privilege action.在使用authorization运行的系统上,用户必须具有包括inprog权限操作的访问权限。

Starting in 3.2.9, users can use $ownOps on mongod instances to view their own operations without the inprog privilege action.从3.2.9开始,用户可以在mongod实例上使用$ownOps来查看自己的操作,而无需inprog权限操作。

db.adminCommand( { currentOp: 1, "$ownOps": 1 } )

Examples示例

The following examples use the currentOp command with various query documents to filter the output.下面的示例使用currentOp命令和各种查询文档来筛选输出。

Display All Current Operations显示所有当前操作

db.adminCommand(
   {
     currentOp: true,
     "$all": true
   }
)

Write Operations Waiting for a Lock等待锁定的写入操作

The following example returns information on all write operations that are waiting for a lock:以下示例返回所有等待锁定的写入操作的信息:

Changed in version 3.6.在版本3.6中更改

db.adminCommand(
   {
     currentOp: true,
     "waitingForLock" : true,
     $or: [
        { "op" : { "$in" : [ "insert", "update", "remove" ] } },
        { "command.findandmodify": { $exists: true } }
    ]
   }
)

Active Operations with no Yields无收益的活跃运营

The following example returns information on all active running operations that have never yielded:下面的示例返回所有活动的运行操作的信息,这些操作从未成功:

db.adminCommand(
   {
     currentOp: true,
     "active" : true,
     "numYields" : 0,
     "waitingForLock" : false
   }
)

Active Operations on a Specific Database特定数据库上的活动操作

The following example returns information on all active operations for database db1 that have been running longer than 3 seconds:以下示例返回数据库db1的所有运行时间超过3秒的活动操作的信息:

db.adminCommand(
   {
     currentOp: true,
     "active" : true,
     "secs_running" : { "$gt" : 3 },
     "ns" : /^db1\./
   }
)

Active Indexing Operations活动索引操作

Changed in version 3.6.在版本3.6中更改

The following example returns information on index creation operations:以下示例返回有关索引创建操作的信息:

db.adminCommand(
    {
      currentOp: true,
      $or: [
        { op: "command", "command.createIndexes": { $exists: true }  },
        { op: "none", "msg" : /^Index Build/ }
      ]
    }
)

Output Example输出示例

The following is a prototype of the currentOp output when run on a standalone:以下是在单机上运行时currentOp输出的原型:

Changed in version 4.2.

{
  "inprog": [
       {
         "type" : <string>,
         "host" : <string>,
         "desc" : <string>,
         "connectionId" : <number>,
         "client" : <string>,
         "appName" : <string>,
         "clientMetadata" : <document>,
         "active" : <boolean>,
         "currentOpTime" : <string>,
         "effectiveUsers" : [
            {
               "user" : <string>,
               "db" : <string>
            }
         ],
         "opid" : <number>,
         "lsid" : {
            "id" : <UUID>,
            "uid" : <BinData>
         },
         "secs_running" : <NumberLong()>,
         "microsecs_running" : <number>,
         "op" : <string>,
         "ns" : <string>,
         "command" : <document>,
         "planSummary": <string>,
         "cursor" : {                              // only for getMore operations
            "cursorId" : <NumberLong()>,
            "createdDate" : <ISODate()>,
            "lastAccessDate" : <ISODate()>,
            "nDocsReturned" : <NumberLong()>,
            "nBatchesReturned" : <NumberLong()>,
            "noCursorTimeout" : <boolean>,
            "tailable" : <boolean>,
            "awaitData" : <boolean>,
            "originatingCommand" : <document>,
            "planSummary" : <string>,
            "operationUsingCursorId" : <NumberLong()>
         },
         "msg": <string>,
         "progress" : {
             "done" : <number>,
             "total" : <number>
         },
         "killPending" : <boolean>,
         "numYields" : <number>,
         "dataThroughputLastSecond" : <number>, // Starting in MongoDB 4.4 for validate operations
         "dataThroughputAverage" : <number>,    // Starting in MongoDB 4.4 for validate operations
         "waitingForLatch" : {                   // Starting in MongoDB 4.2.2
             "timestamp" : <ISODate()>,
             "captureName" : <string>
         },
         "locks" : {
             "ParallelBatchWriterMode" : <string>,
             "ReplicationStateTransition" : <string>,
             "Global" : <string>,
             "Database" : <string>,
             "Collection" : <string>,
             "Metadata" : <string>,
             "oplog" : <string>
         },
         "waitingForLock" : <boolean>,
         "lockStats" : {
             "ParallelBatchWriterMode" : {
                "acquireCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "acquireWaitCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "timeAcquiringMicros" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                },
                "deadlockCount" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                }
             },
             "ReplicationStateTransition" : {
                ...
             },
             "Global": {
                ...
             },
             "Database" : {
                ...
             },
             ...
         }
       },
       ...
   ],
   "fsyncLock": <boolean>,
   "info": <string>,
    "ok": <num>
}

The following is a prototype of the currentOp output when run on a primary of a replica set:以下是在副本集的主副本上运行时currentOp输出的原型:

Changed in version 4.2.

{
  "inprog": [
       {
         "type" : <string>,
         "host" : <string>,
         "desc" : <string>,
         "connectionId" : <number>,
         "client" : <string>,
         "appName" : <string>,
         "clientMetadata" : <document>,
         "lsid" : {
            "id" : <UUID>,
            "uid" : <BinData>
         },
         "transaction" : {
            "parameters" : {
               "txnNumber" : <NumberLong()>,
               "autocommit" : <boolean>,
               "readConcern" : {
                  "level" : <string>
               }
            },
            "readTimestamp" : <Timestamp>,
            "startWallClockTime" : <string>,
            "timeOpenMicros" : <NumberLong()>,
            "timeActiveMicros" : <NumberLong()>,
            "timeInactiveMicros" : <NumberLong()>,
            "expiryTime" : <string>,
         },
         "active" : <boolean>,
         "currentOpTime" : <string>,
         "effectiveUsers" : [
            {
               "user" : <string>,
               "db" : <string>
            }
         ],
         "opid" : <number>,
         "secs_running" : <NumberLong()>,
         "microsecs_running" : <number>,
         "op" : <string>,
         "ns" : <string>,
         "command" : <document>,
         "originatingCommand" : <document>,
         "planSummary": <string>,
         "prepareReadConflicts" : <NumberLong()>,
         "writeConflicts" : <NumberLong()>,
         "cursor" : {                              // only for getMore operations
            "cursorId" : <NumberLong()>,
            "createdDate" : <ISODate()>,
            "lastAccessDate" : <ISODate()>,
            "nDocsReturned" : <NumberLong()>,
            "nBatchesReturned" : <NumberLong()>,
            "noCursorTimeout" : <boolean>,
            "tailable" : <boolean>,
            "awaitData" : <boolean>,
            "originatingCommand" : <document>,
            "planSummary" : <string>,
            "operationUsingCursorId" : <NumberLong()>
         },
         "msg": <string>,
         "progress" : {
             "done" : <number>,
             "total" : <number>
         },
         "killPending" : <boolean>,
         "numYields" : <number>,
         "dataThroughputLastSecond" : <number>, // Starting in MongoDB 4.4 for validate operations
         "dataThroughputAverage" : <number>,    // Starting in MongoDB 4.4 for validate operations
         "waitingForLatch" : {                   // Starting in MongoDB 4.2.2
              "timestamp" : <ISODate()>,
              "captureName" : <string>
          },
         "locks" : {
             "ParallelBatchWriterMode" : <string>,
             "ReplicationStateTransition" : <string>,
             "Global" : <string>,
             "Database" : <string>,
             "Collection" : <string>,
             "Metadata" : <string>,
             "oplog" : <string>
         },
         "waitingForLock" : <boolean>,
         "lockStats" : {
             "ParallelBatchWriterMode" : {
                "acquireCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "acquireWaitCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "timeAcquiringMicros" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                },
                "deadlockCount" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                }
             },
             "ReplicationStateTransition" : {
                ...
             },
             "Global" : {
                ...
             },
             "Database" : {
                ...
             },
             ...
         }
       },
       ...
   ],
   "fsyncLock": <boolean>,
   "info": <string>,
   "ok": <num>,
   "operationTime": <timestamp>,
   "$clusterTime": <document>
}

The following is an example of the currentOp output when run on a mongos of a sharded cluster (Fields may vary depending on the operation being reported):以下是在分片集群的mongos上运行时currentOp输出的示例(字段可能因报告的操作而异):

Changed in version 4.2.

{
  "inprog": [
       {
         "shard": <string>,
         "type" : <string>,
         "host" : <string>,
         "desc" : <string>,
         "connectionId" : <number>,
         "client_s" : <string>,
         "appName" : <string>,
         "clientMetadata" : <document>,
         "lsid" : {
            "id" : <UUID>,
            "uid" : <BinData>
         },
         "transaction" : {
            "parameters" : {
               "txnNumber" : <NumberLong()>,
               "autocommit" : <boolean>,
               "readConcern" : {
                  "level" : <string>
               }
            },
            "readTimestamp" : <Timestamp>,
            "startWallClockTime" : <string>,
            "timeOpenMicros" : <NumberLong()>,
            "timeActiveMicros" : <NumberLong()>,
            "timeInactiveMicros" : <NumberLong()>,
            "expiryTime" : <string>,
         },
         "active" : <boolean>,
         "currentOpTime" : <string>,
         "effectiveUsers" : [
            {
               "user" : <string>,
               "db" : <string>
            }
         ],
         "runBy" : [
            {
               "user" : <string>,
               "db" : <string>
            }
         ],
         "twoPhaseCommitCoordinator" : {           // Starting in 4.2.1
            "lsid" : {
               "id" : <UUID>,
               "uid" : <BinData>
            },
            "txnNumber" : <NumberLong>,
            "numParticipants" : <NumberLong>,
            "state" : <string>,
            "commitStartTime" : <ISODate>,
            "hasRecoveredFromFailover" : <boolean>,
            "stepDurations" : <document>,
            "decision" : <document>,
            "deadline" : <ISODate>
         }
         "opid" : <string>,
         "secs_running" : <NumberLong()>,
         "microsecs_running" : <number>,
         "op" : <string>,
         "ns" : <string>,
         "command" : <document>,
         "configTime" : <Timestamp>,           // Starting in 5.0
         "topologyTime" : <Timestamp>,           // Starting in 5.0
         "planSummary": <string>,
         "prepareReadConflicts" : <NumberLong()>,
         "writeConflicts" : <NumberLong()>,
         "cursor" : {                              // only for getMore operations
            "cursorId" : <NumberLong()>,
            "createdDate" : <ISODate()>,
            "lastAccessDate" : <ISODate()>,
            "nDocsReturned" : <NumberLong()>,
            "nBatchesReturned" : <NumberLong()>,
            "noCursorTimeout" : <boolean>,
            "tailable" : <boolean>,
            "awaitData" : <boolean>,
            "originatingCommand" : <document>,
            "planSummary" : <string>,
            "operationUsingCursorId" : <NumberLong()>
         },
         "msg": <string>,
         "progress" : {
             "done" : <number>,
             "total" : <number>
         },
         "killPending" : <boolean>,
         "numYields" : <number>,
         "dataThroughputLastSecond" : <number>, // Starting in MongoDB 4.4 for validate operations
         "dataThroughputAverage" : <number>,    // Starting in MongoDB 4.4 for validate operations
         "waitingForLatch" : {                   // Starting in MongoDB 4.2.2
             "timestamp" : <ISODate()>,
             "captureName" : <string>
         },
         "locks" : {
             "ParallelBatchWriterMode" : <string>,
             "ReplicationStateTransition" : <string>,
             "Global" : <string>,
             "Database" : <string>,
             "Collection" : <string>,
             "Metadata" : <string>,
             "oplog" : <string>
         },
         "waitingForLock" : <boolean>,
         "lockStats" : {
             "ParallelBatchWriterMode": {
                "acquireCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "acquireWaitCount": {
                   "r": <NumberLong>,
                   "w": <NumberLong>,
                   "R": <NumberLong>,
                   "W": <NumberLong>
                },
                "timeAcquiringMicros" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                },
                "deadlockCount" : {
                   "r" : NumberLong(0),
                   "w" : NumberLong(0),
                   "R" : NumberLong(0),
                   "W" : NumberLong(0)
                }
             },
             "ReplicationStateTransition" : {
                ...
             },
             "Global" : {
                ...
             },
             "Database" : {
                ...
             },
             ...
         }
       },
       ...
   ],
  "ok": <num>,
  "operationTime": <timestamp>,
  "$clusterTime": <document>
}

Output Fields输出字段

currentOp.type

New in version 4.2.在版本4.2中新增

The type of operation. Values are either:操作类型。值为:

  • op
  • idleSession
  • idleCursor

If the currentOp.type is op, currentOp.op provides details on the specific operation.如果currentOp.typeopcurrentOp.op将提供有关特定操作的详细信息。

currentOp.host

The name of the host against which the operation is run.运行操作的主机的名称。

currentOp.desc

A description of the client. 客户端的描述。This string includes the connectionId.此字符串包括connectionId

currentOp.connectionId

An identifier for the connection where the operation originated.发起操作的连接的标识符。

currentOp.client

A string with information about where the operation originated.包含操作起源位置信息的字符串。

For multi-document transactions, client stores information about the most recent client to run an operation inside the transaction.对于多文档事务,client存储有关在事务内部运行操作的最近客户端的信息。

currentOp.appName

The identifier of the client application which ran the operation. 运行操作的客户端应用程序的标识符。Use the appName connection string option to set a custom value for the appName field.使用appName连接字符串选项为appName字段设置自定义值。

currentOp.clientMetadata

Additional information on the client.有关客户端的其他信息。

For multi-document transactions, client stores information about the most recent client to run an operation inside the transaction.对于多文档事务,client存储有关在事务内部运行操作的最近客户端的信息。

currentOp.currentOpTime

The start time of the operation.操作的开始时间。

currentOp.effectiveUsers

An array that contains a document for each user associated with the operation. 包含与操作关联的每个用户的文档的数组。Each user document contains the user name and the authentication db.每个用户文档都包含user名称和身份验证db

Tip提示
See also: 参阅:

New in version 4.2.在版本4.2中新增

currentOp.runBy

An array that contains a document for each user who is impersonating the effectiveUser(s) for the operation. 一个数组,其中包含模拟操作effectiveUser(s)的每个用户的文档。The runBy document contains the user name and the authentication db. runBy文档包含user名称和身份验证dbIn general, the runBy user is the __system user; e.g.通常,runBy用户是__system用户;如。

"runBy" : [
   {
      "user" : "__system",
      "db" : "local"
   }
]

Only available on sharded clusters仅在分片化集群上可用

New in version 4.2.在版本4.2中新增

currentOp.lsid

The session identifier.会话标识符。

Only present if the operation is associated with a session.仅当操作与会话关联时才存在。

currentOp.transaction

A document that contains multi-document transaction information.包含多文档事务信息的文档。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.在版本4.0中新增

currentOp.transaction.parameters

A document that contains information on multi-document transaction.包含多文档事务信息的文档。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.在版本4.0中新增

currentOp.transaction.parameters.txnNumber

The transaction number.事务记录编号。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.在版本4.0中新增

currentOp.transaction.parameters.autocommit

A boolean flag that indicates if autocommit is on for the transaction.一个布尔标志,指示事务是否启用了自动提交。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.parameters.readConcern

The read concern for the transaction.事务的读取关注点

Multi-document transactions support read concern "snapshot", "local", and "majority".多文档事务支持读取关注点"snapshot""local""majority"

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.readTimestamp

The timestamp of the snapshot being read by the operations in the transaction.事务中操作读取的快照的时间戳。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.startWallClockTime

The date and time (with time zone) of the transaction start.事务开始的日期和时间(带时区)。

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.timeOpenMicros

The duration of the transaction in microseconds.事务的持续时间(以微秒为单位)。

The timeActiveMicros value added to the timeInactiveMicros should equal the timeOpenMicros.添加到timeInactiveMicrostimeActiveMicros值应等于timeOpenMicros

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.timeActiveMicros

The total amount of time that the transaction has been active; i.e. when the transaction had operations running.事务处于活动状态的总时间;即当事务运行操作时。

The timeActiveMicros value added to the timeInactiveMicros should equal the timeOpenMicros.添加到timeInactiveMicrostimeActiveMicros值应等于timeOpenMicros

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.transaction.timeInactiveMicros

The total amount of time that the transaction has been inactive; i.e. when the transaction had no operations running.事务处于非活动状态的总时间;即,当事务没有运行操作时。

The timeInactiveMicros value added to the timeActiveMicros should equal the timeOpenMicros.添加到timeActiveMicrostimeInactiveMicros值应等于timeOpenMicros

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

currentOp.transaction.expiryTime

The date and time (with time zone) when the transaction will time out and abort.事务将超时并中止的日期和时间(带时区)。

The currentOp.transaction.expiryTime equals the currentOp.transaction.startWallClockTime + the transactionLifetimeLimitSeconds.currentOp.transaction.expiryTime等于currentOp.transaction.startWallClockTime+transactionLifetimeLimitSeconds

For more information, see Runtime Limit for transactions.有关详细信息,请参阅事务的运行时间限制

Only present if the operation is part of a multi-document transaction.仅当操作是多文档事务的一部分时才存在。

New in version 4.0.2.在版本4.0.2中新增

currentOp.twoPhaseCommitCoordinator

Information on either:以下任一方面的信息:

  • The commit coordination metrics for a transaction whose write operations span multiple shards.写入操作跨越多个分片的事务的提交协调度量。

    Commit coordination is handled by a shard, and currentOp (run either on a mongos or a shard member) returns a shard's coordination information only for those transactions currently being coordinated by that shard.提交协调由一个分片处理,currentOp(在mongos或分片成员上运行)仅返回该分片当前正在协调的事务的分片协调信息。

    To filter for just the commit coordination metrics:要仅筛选提交协调度量,请执行以下操作:

    db.currentOp( { desc:  "transaction coordinator" })
  • A specific commit coordination operation (i.e. currentOp.type is op and currentOp.desc is "TransactionCoordinator") spawned by the transaction coordinator.事务协调器生成的特定提交协调操作(即currentOp.typeopcurrentOp.desc"TransactionCoordinator")。

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.lsid

The session identifier for the multi-shard transaction.多分片事务的会话标识符。

The combination of the lsid and txnNumber identifies the transaction.lsidtxnNumber的组合标识事务。

Available for both the commit coordination metrics and for specific coordination operation.可用于提交协调度量和特定协调操作

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.txnNumber

The transaction number for the multi-shard transaction.多分片事务的事务编号。

The combination of the txnNumber and lsid identifies the transaction.txnNumberlsid的组合标识事务。

Available for both the commit coordination metrics and for specific coordination operation.可用于提交协调度量和特定协调操作

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.action

The specific commit coordination operation spawned by the transaction coordinator:事务协调器生成的特定提交协调操作:

  • "sendingPrepare"
  • "sendingCommit"
  • "sendingAbort"
  • "writingParticipantList"
  • "writingDecision"
  • "deletingCoordinatorDoc"

Only available for specific coordination operation.仅适用于特定的协调操作

currentOp.twoPhaseCommitCoordinator.startTime

The start date and time of the action.action的开始日期和时间。

Only available for specific coordination operation.仅适用于特定的协调操作

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.numParticipants

Number of shards participating in this commit.参与此提交的分片数。

Only available for the commit coordination metrics.仅适用于提交协调度量

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.state

The current step/state of the commit coordination process.提交协调过程的当前步骤/状态。

Step/stageDescription描述
inactiveNot actively part of a commit.不积极参与承诺。
writingParticipantListWriting a local record of the list of shards that are part of this multi-shard transaction. 编写属于此多分片事务的分片列表的本地记录。
waitingForVotesWaiting for the participants to respond with vote to commit or abort.等待参与者以投票方式作出响应,以提交或中止。
writingDecisionWriting a local record of the coordinator's decision to commit or abort based on votes. 写一份当地记录,记录协调员基于投票做出的承诺或放弃决定。
waitingForDecisionAckWaiting for participants to acknowledge the coordinator's decision to commit or abort. 等待参与者确认协调员提交或中止的决定。
deletingCoordinatorDocDeleting the local record of commit decision.正在删除提交决策的本地记录。

Only available for the commit coordination metrics.仅适用于提交协调度量

See also currentOp.twoPhaseCommitCoordinator.stepDurations.另请参阅currentOp.twoPhaseCommitCoordinator.stepDurations

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.commitStartTime

The date and time when the commit started.提交开始的日期和时间。

Only available for the commit coordination metrics.仅适用于提交协调度量

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover

A boolean that indicates whether the commit coordination was restarted due to failover on the shard that is coordinating the commit.一个布尔值,指示是否由于正在协调提交的分片上的故障转移而重新启动了提交协调。

If hasRecoveredFromFailover is true, then the times specified in currentOp.twoPhaseCommitCoordinator.stepDurations may not be accurate for all steps.如果hasRecoveredFromFailovertrue,则currentOp.twoPhaseCommitCoordinator.stepDurations中指定的时间可能不适用于所有步骤。

Only available for the commit coordination metrics.仅适用于提交协调度量

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.stepDurations

A document that contains the duration, in microseconds, of the commit coordination steps/state completed or in progress:包含已完成或正在进行的提交协调steps/state的持续时间(以微秒为单位)的文档:

"stepDurations" : {
   "writingParticipantListMicros" : NumberLong(17801),
   "totalCommitDurationMicros" : NumberLong(42488463),
   "waitingForVotesMicros" : NumberLong(30378502),
   "writingDecisionMicros" : NumberLong(15015),
   "waitingForDecisionAcksMicros" : NumberLong(12077145),
   "deletingCoordinatorDocMicros" : NumberLong(6009)
},

If currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover is true, then the times specified in stepDurations may not be accurate for all steps.如果currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailovertrue,则stepDurations中指定的时间可能不适用于所有步骤。

For a coordinator in an inactive state, the document is empty:对于处于inactive状态的协调员,文档为空:

"stepDurations" : {
}

Only available for the commit coordination metrics.仅适用于提交协调度量

See currentOp.twoPhaseCommitCoordinator.state.请参阅currentOp.twoPhaseCommitCoordinator.state

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.decision

A document that contains the commit/abort decision, For Example:包含提交/中止决定的文档,例如:

  • For a commmit decision:对于通信决策:

    "decision" : {
       "decision" : "commit",
       "commitTimestamp" : Timestamp(1572034669, 3)
    }
  • For an abort decision:对于中止决定:

    "decision" : {
       "decision" : "abort",
       "abortStatus" : {
          "code" : 282,
          "codeName" : "TransactionCoordinatorReachedAbortDecision",
          "errmsg" : "Transaction exceeded deadline"
       }
    }

Only available for the commit coordination metrics.仅适用于提交协调度量

New in version 4.2.1.在版本4.2.1中新增

currentOp.twoPhaseCommitCoordinator.deadline

The date and time by which the commit must finish.提交必须完成的日期和时间。

Only available for the commit coordination metrics.仅适用于提交协调度量

New in version 4.2.1.在版本4.2.1中新增

currentOp.opid

The identifier for the operation. 操作的标识符。You can pass this value to db.killOp() in mongosh to terminate the operation.您可以将此值传递给mongosh中的db.killOp()以终止操作。

Warning警告

Terminate running operations with extreme caution. 极端小心地终止运行操作。Only use db.killOp() to terminate operations initiated by clients and do not terminate internal database operations.仅使用db.killOp()终止客户端启动的操作,而不终止内部数据库操作。

currentOp.active

A boolean value specifying whether the operation has started. 指定操作是否已启动的布尔值。Value is true if the operation has started or false if the operation is idle, such as an idle connection or an internal thread that is currently idle. 如果操作已启动,值为true;如果操作处于空闲状态,例如空闲连接或当前空闲的内部线程,值为falseAn operation can be active even if the operation has yielded to another operation. 即使某个操作已让步于另一个操作,该操作也可以是活动的。For some inactive background threads, such as an inactive signalProcessingThread, MongoDB suppresses various empty fields.对于一些非活动的后台线程,例如非活动的signalProcessingThread,MongoDB会抑制各种空字段。

currentOp.secs_running

The duration of the operation in seconds. 操作的持续时间(秒)。MongoDB calculates this value by subtracting the current time from the start time of the operation.MongoDB通过从操作开始时间减去当前时间来计算该值。

Only appears if the operation is running; i.e. if active is true.仅在操作正在运行时显示;即,如果activetrue

currentOp.microsecs_running

The duration of the operation in microseconds. 操作的持续时间(以微秒为单位)。MongoDB calculates this value by subtracting the current time from the start time of the operation.MongoDB通过从操作开始时间减去当前时间来计算该值。

Only appears if the operation is running; i.e. if active is true.仅在操作正在运行时显示;即,如果activetrue

currentOp.op

A string that identifies the specific operation type. 标识特定操作类型的字符串。Only present if currentOp.type is op.仅当currentOp.typeop时出现。

The possible values are:可能的值为:

  • "none"
  • "update"
  • "insert"
  • "query"
  • "command"
  • "getmore"
  • "remove"
  • "killcursors"

"query" operations include read operations.操作包括读取操作。

"command" operations include most commands such as the createIndexes and findAndModify."command"作包括大多数命令,如createIndexesfindAndModify

currentOp.ns

The namespace the operation targets. 操作目标的命名空间A namespace consists of the database name and the collection name concatenated with a dot (.); that is, "<database>.<collection>".名称空间由数据库名称和集合名称组成,集合名称用点(.)连接;即"<database>.<collection>"

currentOp.command

Changed in version 3.6.在版本3.6中更改

A document containing the full command object associated with this operation.包含与此操作关联的完整命令对象的文档。

For example, the following output contains the command object for a find operation on a collection named items in a database named test:例如,以下输出包含对名为test的数据库中名为items的集合执行find操作的命令对象:

"command" : {
  "find" : "items",
  "filter" : {
    "sku" : 1403978
  },
  ...
  "$db" : "test"
}

The following example output contains the command object for a getMore operation generated by a command with cursor id 19234103609 on a collection named items in a database named test:以下示例输出包含getMore操作的命令对象,该操作由游标id为19234103609的命令在名为test的数据库中的名为items的集合上生成:

"command" : {
    "getMore" : NumberLong("19234103609"),
    "collection" : "items",
    "batchSize" : 10,
    ...
    "$db" : "test"
},

If the command document exceeds 1 kilobyte, the document has the following form:如果命令文档超过1 KB,则文档的格式如下:

"command" : {
  "$truncated": <string>,
  "comment": <string>
}

The $truncated field contains a string summary of the document excluding the document's comment field if present. $truncated字段包含文档的字符串摘要,不包括文档的comment字段(如果存在)。If the summary still exceeds 1 kilobyte then it is further truncated, denoted by an ellipsis (...) at the end of the string.如果摘要仍然超过1KB,则将进一步截断,在字符串末尾用省略号(…)表示。

The comment field is present if a comment was passed to the operation. 如果向操作传递了注释,则会出现comment字段。Starting in MongoDB 4.4, a comment may be attached to any database command.从MongoDB 4.4开始,注释可以附加到任何数据库命令

currentOp.planSummary

Specifies whether the cursor uses a collection scan (COLLSCAN) or an index scan (IXSCAN { ... }).指定游标是使用集合扫描(COLLSCAN)还是索引扫描(IXSCAN { ... })。

The IXSCAN also includes the specification document of the index used.IXSCAN还包括所用索引的规范文档。

currentOp.prepareReadConflicts

The number of times the current operation had to wait for a prepared transaction with a write to commit or abort.当前操作必须等待准备好的事务提交或中止写操作的次数。

While waiting, the current operation continues to hold any necessary locks and storage engine resources.在等待期间,当前操作将继续保留所有必要的锁和存储引擎资源。

New in version 4.2.在版本4.2中新增

currentOp.writeConflicts

The number of times the current operation conflicted with another write operation on the same document.当前操作与同一文档上的另一个写入操作冲突的次数。

New in version 4.2.在版本4.2中新增

currentOp.cursor

New in version 4.2.在版本4.2中新增

A document that contains the cursor information for getmore operations; i.e. where op is getmore.包含getmore操作的游标信息的文档;即op在哪里是getmore

If reporting on a getmore operation before the getmore has accessed its cursor information, the cursor field is not available.如果在getmore访问其游标信息之前报告getmore操作,则cursor字段不可用。

currentOp.cursor.cursorId

New in version 4.2.在版本4.2中新增

The id of the cursor.

currentOp.cursor.createdDate

New in version 4.2.在版本4.2中新增

The date and time when the cursor was created.创建游标的日期和时间。

currentOp.cursor.lastAccessDate

New in version 4.2.在版本4.2中新增

The date and time when the cursor was last used.上次使用游标的日期和时间。

currentOp.cursor.nDocsReturned

New in version 4.2.在版本4.2中新增

The cumulative number of documents returned by the cursor.游标返回的累计文档数。

currentOp.cursor.nBatchesReturned

New in version 4.2.在版本4.2中新增

The curmulative number of batches returned by the cursor.游标返回的批次的累计数量。

currentOp.cursor.noCursorTimeout

New in version 4.2.在版本4.2中新增

The flag that indicates that the cursor will not timeout when idle; i.e. if the cursor has the noTimeout option set.指示游标空闲时不会超时的标志;即,如果游标设置了noTimeout选项。

  • If true, the cursor does not time out when idle.如果为true,则游标在空闲时不会超时。
  • If false, the cursor will time out when idle.如果为false,游标将在空闲时超时。
Tip提示
See also: 参阅:
currentOp.cursor.tailable

New in version 4.2.在版本4.2中新增

The flag that indicates if the cursor is a tailable cursor for a capped collection. 指示游标是否为封顶集合的可跟踪游标的标志。Tailable cursors remain open after the client exhausts the results in the initial cursor.在客户端耗尽初始游标中的结果后,可跟踪游标保持打开状态。

Tip提示
currentOp.cursor.awaitData

New in version 4.2.在版本4.2中新增

The flag that indicates whether the tailable cursor should temporarily block a getMore command on the cursor while waiting for new data rather than returning no data.一个标志,指示在等待新数据而不是不返回数据时,可裁剪游标是否应暂时阻止游标上的getMore命令。

For non-tailable cursors, the value is always false.对于非尾随游标,该值始终为false

Tip提示
currentOp.cursor.originatingCommand

New in version 4.2.在版本4.2中新增

The originatingCommand field contains the full command object (e.g. find or aggregate) which originally created the cursor.originatingCommand字段包含最初创建游标的完整命令对象(例如findaggregate)。

Note注意

Starting in version 4.2, MongoDB now returns originatingCommand field as a nested field in the new cursor field. 从4.2版开始,MongoDB现在返回originatingCommand字段作为新cursor字段中的嵌套字段。In previous versions, the originatingCommand was a top-level field for the associated "getmore" document.在以前的版本中,originatingCommand是关联"getmore"文档的顶级字段。

currentOp.cursor.planSummary

New in version 4.2.在版本4.2中新增

Specifies whether the cursor uses a collection scan (COLLSCAN) or an index scan (IXSCAN { ... }).指定游标是使用集合扫描(COLLSCAN)还是索引扫描(IXSCAN { ... })。

The IXSCAN also includes the specification document of the index used.IXSCAN还包括所用索引的规范文档。

currentOp.cursor.operationUsingCursorId

New in version 4.2.在版本4.2中新增

The opid of the operation using the cursor.使用游标的操作的opid

Only present if the cursor is not idle.仅当游标不空闲时出现。

currentOp.waitingForLatch

The waitingForLatch document is only available if the operation is waiting to acquire an internal locking primitive (a.k.a. a latch) or for an internal condition to be met.waitingForLatch文档仅在操作等待获取内部锁定原语(也称为锁存器)或等待满足内部条件时可用。

For Example,例如,

"waitingForLatch" : {
   "timestamp" : ISODate("2020-03-19T23:25:58.412Z"),
   "captureName" : "FutureResolution",
},
Output FieldDescription描述
timestampThe date and time at which the operation started to wait.操作开始等待的日期和时间。
captureNameThe internal name of the section where the operation is currently blocked.当前阻止操作的节的内部名称。

New in version 4.2.2.在版本4.2.2中新增

currentOp.locks

The locks document reports the type and mode of locks the operation currently holds. The possible lock types are as follows:locks文档报告操作当前持有的锁的类型和模式。可能的锁类型如下:

Lock TypeDescription描述
ParallelBatchWriterMode

Represents a lock for parallel batch writer mode.表示并行批处理编写器模式的锁。

In earlier versions, PBWM information was reported as part of the Global lock information.在早期版本中,PBWM信息被报告为Global锁信息的一部分。

New in version 4.2.在版本4.2中新增

ReplicationStateTransition

Represents lock taken for replica set member state transitions.表示副本集成员状态转换所用的锁。

New in version 4.2.在版本4.2中新增

GlobalRepresents global lock.表示全局锁。
DatabaseRepresents database lock.表示数据库锁。
CollectionRepresents collection lock.表示集合锁。
MutexRepresents mutex.表示互斥体。
MetadataRepresents metadata lock.表示元数据锁。
oplogRepresents lock on the oplog.表示oplog上的锁。

The possible modes are as follows:可能的模式如下:

Lock ModeDescription描述
RRepresents Shared (S) lock.表示共享(S)锁。
WRepresents Exclusive (X) lock.表示独占(X)锁。
rRepresents Intent Shared (IS) lock.表示意向共享(IS)锁。
wRepresents Intent Exclusive (IX) lock.表示Intent Exclusive(IX)锁。
currentOp.waitingForLock

Returns a boolean value. 返回布尔值。waitingForLock is true if the operation is waiting for a lock and false if the operation has the required lock.如果操作正在等待锁,waitingForLocktrue;如果操作具有所需的锁,则为false

currentOp.msg

The msg provides a message that describes the status and progress of the operation. msg提供一条消息,描述操作的状态和进度。In the case of indexing or mapReduce operations, the field reports the completion percentage.在索引或mapReduce操作的情况下,该字段报告完成百分比。

currentOp.progress

Reports on the progress of mapReduce or indexing operations. 报告mapReduce或索引操作的进度。The progress fields corresponds to the completion percentage in the msg field. progress字段对应于msg字段中的完成百分比。The progress specifies the following information:progress指定了以下信息:

currentOp.progress.done

Reports the number completed.报告完成的数字。

currentOp.progress.total

Reports the total number.报告总数。

currentOp.killPending

Returns true if the operation is currently flagged for termination. 如果操作当前标记为终止,则返回trueWhen the operation encounters its next safe termination point, the operation will terminate.当操作遇到下一个安全终止点时,操作将终止。

currentOp.numYields

numYields is a counter that reports the number of times the operation has yielded to allow other operations to complete.是一个计数器,它报告操作已让步以允许其他操作完成的次数。

Typically, operations yield when they need access to data that MongoDB has not yet fully read into memory. 通常情况下,当操作需要访问MongoDB尚未完全读入内存的数据时,操作就会产生问题。This allows other operations that have data in memory to complete quickly while MongoDB reads in data for the yielding operation.这允许内存中有数据的其他操作快速完成,而MongoDB读取数据以进行让步操作。

currentOp.dataThroughputLastSecond

Amount of data (in MiB) processed by the validate operation in the last second. validate操作在最后一秒内处理的数据量(以MiB为单位)。Only available for a validate operation that is currently scanning documents. 仅适用于当前正在扫描文档的validate操作。For Example:例如:

"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%",
"progress" : {
   "done" : 7258,
   "total" : 24000
},
"numYields" : 0,
"dataThroughputLastSecond" : 15.576952934265137,
"dataThroughputAverage" : 15.375944137573242,

New in version 4.4.在版本4.4中新增

currentOp.dataThroughputAverage

The average amount of data (in MiB) processed by the validate operation. validate操作处理的平均数据量(以MiB为单位)。Only available for a validate operation that is currently scanning documents. 仅适用于当前正在扫描文档的validate操作。For Example:例如:

"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%",
"progress" : {
   "done" : 7258,
   "total" : 24000
},
"numYields" : 0,
"dataThroughputLastSecond" : 15.576952934265137,
"dataThroughputAverage" : 15.375944137573242,

New in version 4.4.在版本4.4中新增

currentOp.fsyncLock

Specifies if database is currently locked for fsync write/snapshot.指定当前是否为fsync write/snapshot锁定数据库。

Only appears if locked; i.e. if fsyncLock is true.仅在锁定时显示;即,如果fsyncLocktrue

currentOp.info

Information regarding how to unlock database from db.fsyncLock(). 有关如何从db.fsyncLock()解锁数据库的信息。Only appears if fsyncLock is true.仅当fsyncLocktrue时才会出现。

currentOp.lockStats

For each lock type and mode (see currentOp.locks for descriptions of lock types and modes), returns the following information:对于每个锁类型和模式(请参阅currentOp.locks了解锁类型和锁模式的描述),返回以下信息:

currentOp.lockStats.acquireCount

Number of times the operation acquired the lock in the specified mode.操作在指定模式下获取锁的次数。

currentOp.lockStats.acquireWaitCount

Number of times the operation had to wait for the acquireCount lock acquisitions because the locks were held in a conflicting mode. 由于锁处于冲突模式,操作必须等待acquireCount锁获取的次数。acquireWaitCount is less than or equal to acquireCount.acquireWaitCount小于或等于acquireCount

currentOp.lockStats.timeAcquiringMicros

Cumulative time in microseconds that the operation had to wait to acquire the locks.操作获取锁所需的累计时间(以微秒为单位)。

timeAcquiringMicros divided by acquireWaitCount gives an approximate average wait time for the particular lock mode.timeAcquiringMicros除以acquireWaitCount得出特定锁定模式的近似平均等待时间。

currentOp.lockStats.deadlockCount

Number of times the operation encountered deadlocks while waiting for lock acquisitions.等待获取锁时操作遇到死锁的次数。

currentOp.waitingForFlowControl

A boolean that indicates if the operation is in the process of waiting for flow control.一个布尔值,指示操作是否正在等待流控制

New in version 4.2.在版本4.2中新增

currentOp.flowControlStats

The flow control statistics for this operation.此操作的流控制统计信息。

New in version 4.2.在版本4.2中新增

currentOp.flowControlStats.acquireCount

The number of times this operation acquired a ticket.此操作获取票证的次数。

New in version 4.2.在版本4.2中新增

currentOp.flowControlStats.acquireWaitCount

The number of times this operation waited to aqcuire a ticket.此操作等待获取票证的次数。

New in version 4.2.在版本4.2中新增

currentOp.flowControlStats.timeAcquiringMicros

The total time this operation has waited to acquire a ticket.此操作等待获取票证的总时间。

New in version 4.2.在版本4.2中新增

currentOp.totalOperationTimeElapsed

The total time elapsed, in seconds, for the current resharding operation. 当前重分片操作所用的总时间(秒)。The time is set to 0 when a new resharding operation starts.新的重新包装操作开始时,时间设置为0。

Only present if a resharding operation is taking place.仅在正在进行重新装运操作时出现。

New in version 5.0.在版本5.0中新增

currentOp.remainingOperationTimeEstimated

The estimated time remaining in seconds for the current resharding operation. 当前重分片操作的估计剩余时间(秒)。The time is set to -1 when a new resharding operation starts.新的重新包装操作开始时,时间设置为-1。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.approxDocumentsToCopy

The approximate number of documents to be copied from the donor shards to the recipient shards during the resharding operation. 重新分片操作期间,要从供体分片复制到接收方分片的文档的大致数量。This number is an estimate that is set at the beginning of the resharding operation and does not change after it has been set. 此数字是在重新发货操作开始时设置的估计值,设置后不会更改。The number is set to 0 when a new resharding operation starts. 当新的重新发货操作开始时,该数字设置为0。It is possible for $currentOp.documentsCopied and $currentOp.bytesCopied to end up exceeding $currentOp.approxDocumentsToCopy and $currentOp.approxBytesToCopy, respectively, if the post-resharding data distribution is not perfectly uniform.如果重新发送后的数据分布不完全一致,则$currentOp.documentsCopied$currentOp.bytesCopied可能会分别超过$currentOp.approxDocumentsToCopy$currentOp.approxBytesToCopy

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.documentsCopied

The number of documents copied form donor shards to recipient shards during the resharding operation. 重新分片操作期间从供体分片复制到接收方分片的文档数。The number is set to 0 when a new resharding operation starts.当新的重新发货操作开始时,该数字设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.approxBytesToCopy

The approximate number of bytes to be copied from the donor shards to the recipient shards during the resharding operation. 重新分发操作期间,要从施主分片复制到接收方分片的大约字节数。This number is an estimate that is set at the beginning of the resharding operation and does not change after it has been set. 此数字是在重新发货操作开始时设置的估计值,设置后不会更改。The number is set to 0 when a new resharding operation starts. 当新的重新发货操作开始时,该数字设置为0。It is possible for $currentOp.documentsCopied and $currentOp.bytesCopied to end up exceeding $currentOp.approxDocumentsToCopy and $currentOp.approxBytesToCopy, respectively, if the post-resharding data distribution is not perfectly uniform.如果重新发送后的数据分布不完全一致,则$currentOp.documentsCopied$currentOp.bytesCopied可能会分别超过$currentOp.approxDocumentsToCopy$currentOp.approxBytesToCopy

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.bytesCopied

The number of bytes copied from donor shards to recipient shards during the resharding operation. 重新分发操作期间从施主分片复制到接收方分片的字节数。The number is set to 0 when a new resharding operation starts.当新的重新发货操作开始时,该数字设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.totalCopyTimeElapsed

The total elapsed time, in seconds, for ongoing data copy tasks from donor shards to recipient shards for the current resharding operation. 当前重新分发操作中,从施主分片到接收方分片的持续数据复制任务所用的总时间(秒)。The time is set to 0 when a new resharding operation starts.新的重新包装操作开始时,时间设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.oplogEntriesFetched

The number of entries fetched from the oplog for the current resharding operation. oplog中为当前重新分片操作提取的条目数。The number is set to 0 when a new resharding operation starts.当新的重新发货操作开始时,该数字设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.oplogEntriesApplied

The number of entries applied to the oplog for the current resharding operation. 应用于当前重新分配操作的oplog的条目数。The number is set to 0 when a new resharding operation starts.当新的重新发货操作开始时,该数字设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.totalApplyTimeElapsed

The total elapsed time, in seconds, for the apply step of the current resharding operation. 当前重新分片操作的应用步骤的总运行时间(秒)。In the apply step, recipient shards apply oplog entries to modify their data based on new incoming writes from donor shards. 在应用步骤中,接收方分片应用oplog条目,以根据来自施主分片的新传入写入修改其数据。The time is set to 0 when a new resharding operation starts.新的重新包装操作开始时,时间设置为0。

Only present on a recipient shard when a resharding operation is taking place.仅在重新分发操作发生时出现在接收方分片上。

New in version 5.0.在版本5.0中新增

currentOp.countWritesDuringCriticalSection

The number of writes perfomed in the critical section for the current resharding operation. 当前重新分片操作的关键部分中执行的写入次数。The critical section prevents new incoming writes to the collection currently being resharded. 关键部分阻止对当前正在重新保护的集合进行新的传入写入。The number is set to 0 when a new resharding operation starts.当新的重新发货操作开始时,该数字设置为0。

Only present on a donor shard when a resharding operation is taking place.仅在重新分配操作发生时出现在施主分片上。

New in version 5.0.在版本5.0中新增

currentOp.totalCriticalSectionTimeElapsed

The total elapsed time, in seconds, for the critical section of the current resharding operation. 当前重新分片操作的关键部分的总运行时间(秒)。The critical section prevents new incoming writes to the collection currently being resharded. 关键部分阻止对当前正在重新保护的集合进行新的传入写入。The time is set to 0 when a new resharding operation starts.新的重新包装操作开始时,时间设置为0。

Only present on a donor shard when a resharding operation is taking place.仅在重新分配操作发生时出现在施主分片上。

New in version 5.0.在版本5.0中新增

currentOp.donorState

The current state of a donor shard for the resharding operation. 重新分片操作的施主分片的当前状态。The state is set to unused when a new resharding operation starts.当新的重新包装操作开始时,状态设置为unused

Only present on a donor shard when a resharding operation is taking place.仅在重新分配操作发生时出现在施主分片上。

StateDescription描述
unusedThe resharding operation is about to start or recovering from a primary failover. 重新装载操作即将启动或从主故障切换中恢复。
preparing-to-donateThe donor shard is preparing to donate data to the recipient shards. 捐赠者分片正在准备向接收者分片捐赠数据。
donating-initial-dataThe donor shard is donating data to the recipient shards.捐赠者分片正在向接收者分片捐赠数据。
donating-oplog-entriesThe donor shard is donating oplog entries to the recipient shards. 施主分片将oplog条目捐赠给接收者分片。
preparing-to-block-writesThe donor shard is about to prevent new incoming write operations to the collection that is being resharded. 施主分片将阻止对正在重新保护的集合进行新的传入写入操作。
errorAn error occurred during the resharding operation.重新发送操作期间出错。
blocking-writesThe donor shard is preventing new incoming write operations and the donor shard has notified all recipient shards that new incoming writes are prevented. 施主分片正在阻止新的传入写入操作,并且施主分片已通知所有接收方分片阻止了新的传入写操作。
doneThe donor shard has dropped the old sharded collection and the resharding operation is complete. 施主分片已丢弃旧分片集合,重新分配操作已完成。

New in version 5.0.在版本5.0中新增

currentOp.recipientState

The current state of a recipient shard for a resharding operation. 重新分片操作的收件人分片的当前状态。The state is set to unused when a new resharding operation starts.当新的重新包装操作开始时,状态设置为unused

Only present on a donor shard when a resharding operation is taking place.仅在重新分配操作发生时出现在施主分片上。

State状态Description描述
unusedThe resharding operation is about to start or recovering from a primary failover. 重新装载操作即将启动或从主故障切换中恢复。
awaiting-fetch-timestampThe recipient shard is waiting for the donor shards to be prepared to donate their data. 接收者分片正在等待捐赠者分片准备好捐赠他们的数据。
creating-collectionThe recipient shard is creating the new sharded collection.接收方分片正在创建新的分片集合。
cloningThe recipient shard is receiving data from the donor shards.接收方分片正在从施主分片接收数据。
applyingThe recipient shard is applying oplog entries to modify its copy of the data based on the new incoming writes from donor shards. 接收方分片正在应用oplog条目,以根据来自施主分片的新传入写入修改其数据副本。
errorAn error occurred during the resharding operation.重新发送操作期间出错。
strict-consistencyThe recipient shard has all data changes stored in a temporary collection. 接收方分片将所有数据更改存储在临时集合中。
doneThe resharding operation is complete.重新装载操作已完成。

New in version 5.0.在版本5.0中新增

currentOp.coordinatorState

The state of the resharding coordinator for the current resharding operation. 当前重新分片操作的重新分片协调器的状态。The resharding coordinator is an operation that runs on the config server primary. 重新分配协调器是在配置服务器主服务器上运行的操作。The state is set to unused when a new resharding operation starts.当新的重新包装操作开始时,状态设置为unused

Only present on the coordinating config server.仅存在于协调配置服务器上。

StateDescription描述
unusedThe resharding operation is about to start or recovering from a primary failover. 重新装载操作即将启动或从主故障切换中恢复。
initializingThe resharding coordinator has inserted the coordinator document into config.reshardingOperations and has added the reshardingFields to the config.collections entry for the original collection. 重新分配协调员已将协调员文档插入到config.reshardingOperations中,并已将reshardingFields字段添加到原始集合的config.collections条目中。
preparing-to-donate

The resharding coordinator重新发货协调员

  • has created a config.collections entry for the temporary resharding collection.已为临时重新分配集合创建了config.collections条目。
  • has inserted entries into config.chunks for ranges based on the new shard key.已将条目插入到基于新分片键的范围的config.chunks中。
  • has inserted entries into config.tags for any zones associated with the new shard key.已将条目插入到与新分片键关联的任何区域的config.tags中。

The coordinator informs participant shards to begin the resharding operation. 协调器通知参与者分片开始重新分配操作。The coordinator then waits until all donor shards have picked a minFetchTimestamp and are ready to donate.然后,协调器等待,直到所有捐赠者分片都选择了minFetchTimestamp并准备好捐赠。

cloningThe resharding coordinator informs donor shards to donate data to recipient shards. 重新分配协调器通知捐赠者分片将数据捐赠给接收者分片。The coordinator waits for all recipients to finish cloning the data from the donor. 协调器等待所有收件人完成从供体克隆数据。
applyingThe resharding coordinator informs recipient shards to modify their copies of data based on new incoming writes from donor shards. 重新分配协调器通知接收者分片根据来自捐赠者分片的新写入来修改其数据副本。The coordinator waits for all recipients to finish applying oplog entries. 协调器等待所有收件人完成应用oplog条目。
blocking-writesThe resharding coordinator informs donor shards to prevent new incoming write operations to the collection being resharded. 重新分配协调器通知施主分片,以防止对正在重新分配的集合进行新的传入写入操作。The coordinator then waits for all recipients to have all data changes. 然后,协调器等待所有收件人进行所有数据更改。
abortingAn unrecoverable error occurred during the resharding operation or the abortReshardCollection command (or the sh.abortReshardCollection() method) was run. 重新分配操作或运行abortReshardCollection命令(或sh.abortReshardCollection()方法)时发生不可恢复的错误。
committingThe resharding coordinator removes the config.collections entry for the temporary resharding collection. 重新分配协调器删除临时重新分配集合的config.collections条目。The coordinator then adds the recipientFields to the source collection's entry. 然后,协调器将recipientFields添加到源集合的条目中。

New in version 5.0.在版本5.0中新增

currentOp.opStatus

The current state of a resharding operation.重新分片操作的当前状态。

Only present if a resharding operation is taking place. 仅在正在进行重新装运操作时出现。Once the operation has completed, the operation is removed from currentOp output.一旦操作完成,该操作将从currentOp输出中删除。

StateDescription描述
actively runningThe resharding operation is actively running.重新装载操作正在积极运行。
successThe resharding operation has succeeded.重新包装操作已成功。
failureThe resharding operation has failed.重新发送操作失败。
canceledThe resharding operation was canceled.重新发货操作已取消。

New in version 5.0.在版本5.0中新增

←  createIndexesdrop →