정의
- $currentOp
- 트랜잭션 의 일부로 잠금을 유지하고 있는 비활성 세션뿐만 아니라 활성 및/또는 휴면 작업에 대한 정보가 포함된 문서 스트림 을 반환합니다. 이 단계는 각 작업 또는 세션에 대한 문서 를 반환합니다. - $currentOp을(를) 실행 하려면- admin데이터베이스 에서- db.aggregate()헬퍼를 사용합니다.- currentOp명령과 해당- mongosh헬퍼 메서드- db.currentOp()보다- $currentOp애그리게이션 단계를 사용합니다.- currentOp명령과- db.currentOp()헬퍼 메서드는 결과를 단일 문서로 반환하므로- currentOp결과 집합의 총 크기에는 문서의 최대 16MB BSON 크기 제한이 적용됩니다.- $currentOp단계는 각각 단일 작업을 보고하는 문서 스트림 위에 커서를 반환합니다. 각 작업 문서에는 16MB BSON 제한이 적용되지만- currentOp명령과 달리 결과 집합의 전체 크기에는 제한이 없습니다.- $currentOp문서가 파이프라인을 통과할 때 결과를 임의로 변환할 수도 있습니다.
구문
{ $currentOp: { allUsers: <boolean>, idleConnections: <boolean>, idleCursors: <boolean>, idleSessions: <boolean>, localOps: <boolean> } } 
$currentOp 은(는) 옵션 문서를 피연산자로 사용합니다.
| 옵션 | 설명 | 
|---|---|
| 부울입니다. 
 액세스 제어를 적용하는 독립형 및 복제본 세트는  액세스 제어를 적용하는 샤딩된 클러스터는  기본값은  | |
| 부울  기본값은  | |
| 부울입니다. 
 기본값은  | |
| 부울. 콜스택 정보를 출력 필드 의 일부로 반환할지 여부를 결정합니다. 
 기본값은  | 
위의 매개변수 중 하나를 생략하면 $currentOp가 해당 매개변수의 기본값을 사용하게 됩니다. 모든 매개변수의 기본값을 사용하려면 아래와 같이 빈 문서를 지정합니다.
{ $currentOp: { } } 
제약 조건
파이프라인
- $currentOp은(는) 파이프라인의 첫 번째 단계여야 합니다.
- $currentOp으로 시작하는 파이프라인은- admin데이터베이스에서만 실행할 수 있습니다.
액세스 제어
- 액세스 제어를 시행하는 독립형 및 복제본 세트의 경우 allUsers: true일 때 - $currentOp를 실행하려면- inprog권한이 필요합니다.
- 액세스 제어를 시행하는 샤딩된 클러스터는 - $currentOp을(를) 실행하려면- inprog권한이 필요합니다.
트랜잭션
- $currentOp은(는) 거래에서 허용되지 않습니다.
편집
Queryable Encryption 사용하는 경우 $currentOp 출력은 특정 정보를 삭제합니다.
- 출력은 - "command"이후의 모든 필드를 생략합니다.
- 출력은 - "command"를 첫 번째 요소,- $comment및- $db만 포함하도록 편집합니다.
예시
비활성 세션
이 예시 트랜잭션 의 일부로 잠금을 보유하고 있는 비활성 세션에 대한 정보를 반환하기 위해 다음 단계를 만듭니다.
- 첫 번째 단계에서는 트랜잭션의 일부로 잠금을 유지하고 있는 비활성 세션뿐만 아니라 모든 활성 작업에 대한 문서를 반환합니다. 
- 두 번째 단계에서는 트랜잭션의 일부로 잠금을 유지하고 있는 비활성 세션과 관련된 문서를 필터링합니다. 
db.getSiblingDB("admin").aggregate( [    { $currentOp : { allUsers: true, idleSessions: true } },    { $match : { active: false, transaction : { $exists: true } } } ] ) 
$currentOp.type을 사용하여 동등한 필터를 다음과 같이 지정할 수 있습니다.
db.getSiblingDB("admin").aggregate( [    { $currentOp : { allUsers: true, idleSessions: true } },    { $match : { type: "idleSession" } } ] ) 
팁
샤딩된 클러스터의 트랜잭션의 경우 트랜잭션의 복합 보기를 수행하려면 앞서 언급한 예시에 localOps:true를 포함합니다.
두 작업 모두 다음 형식의 문서를 반환합니다.
복제본 세트의 일부인 mongod 에서 실행하는 경우에는 다음과 같은 프로세스로 진행됩니다.
{    "type" : "idleSession",    "host" : "example.mongodb.com:27017",    "desc" : "inactive transaction",    "client" : "198.51.100.1:50428",    "connectionId" : Long(32),    "appName" : "",    "clientMetadata" : {       "driver" : {          "name" : "PyMongo",          "version" : "3.9.0"       },       "os" : {          "type" : "Darwin",          "name" : "Darwin",          "architecture" : "x86_64",          "version" : "10.14.5"       },       "platform" : "CPython 3.7.1.final.0"    },    "lsid" : {       "id" : UUID("ff21e1a9-a130-4fe0-942f-9e6b6c67ea3c"),       "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")    },    "transaction" : {       "parameters" : {          "txnNumber" : Long(4),          "autocommit" : false,          "readConcern" : {             "level" : "snapshot",             "afterClusterTime" : Timestamp(1563892246, 1)          }       },       "readTimestamp" : Timestamp(0, 0),       "startWallClockTime" : "2019-07-23T10:30:49.461-04:00",       "timeOpenMicros" : Long(1913590),       "timeActiveMicros" : Long(55),       "timeInactiveMicros" : Long(1913535),       "expiryTime" : "2019-07-23T10:31:49.461-04:00"    },    "waitingForLock" : false,    "active" : false,    "locks" : {       "ReplicationStateTransition" : "w",       "Global" : "w",       "Database" : "w",       "Collection" : "w"    },    "lockStats" : {       "ReplicationStateTransition" : {          "acquireCount" : {             "w" : Long(5)          }       },       "Global" : {          "acquireCount" : {             "r" : Long(3),             "w" : Long(1)          }       },       "Database" : {          "acquireCount" : {             "r" : Long(2),             "w" : Long(1)          }       },       "Collection" : {          "acquireCount" : {             "w" : Long(1)          }       },       "Mutex" : {          "acquireCount" : {             "r" : Long(3)          }       },       "oplog" : {          "acquireCount" : {             "r" : Long(2)          }       }    },    "waitingForFlowControl" : false,    "flowControlStats" : {}, } 
localOps:true 와 함께 $currentOp 를 실행하면 개별 샤드에 대한 정보가 아닌 해당 mongos에서 실행 진행 중인 트랜잭션의 복합 뷰를 제공합니다.
db.getSiblingDB("admin").aggregate( [    { $currentOp : { allUsers: true, idleSessions: true, localOps: true } },    { $match : { type: "idleSession" } } ] ); // or db.getSiblingDB("admin").aggregate( [    { $currentOp : { allUsers: true, idleSessions: true, localOps: true } },    { $match : { active: false, transaction : { $exists: true } } } ] ) 
{    "type" : "idleSession",    "host" : "example.mongodb.com:27017",    "desc" : "inactive transaction",    "client" : "198.51.100.1:49618",    "connectionId" : Long(48),    "appName" : "",    "clientMetadata" : {       "driver" : {          "name" : "PyMongo",          "version" : "3.9.0"       },       "os" : {          "type" : "Darwin",          "name" : "Darwin",          "architecture" : "x86_64",          "version" : "10.14.6"       },       "platform" : "CPython 3.7.1.final.0",       "mongos" : {          "host" : "example.mongodb.com:27017",          "client" : "198.51.100.1:53268",          "version" : "4.2.1"       }    },    "lsid" : {       "id" : UUID("2c9ce111-133e-45b7-a00f-a7871005cae1"),       "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")    },    "active" : false,    "transaction" : {       "parameters" : {          "txnNumber" : Long(2),          "autocommit" : false,          "readConcern" : {             "level" : "snapshot",             "afterClusterTime" : Timestamp(1571869019, 2)          }       },       "globalReadTimestamp" : Timestamp(1571869019, 2),       "startWallClockTime" : "2019-10-23T18:16:59.341-04:00",       "timeOpenMicros" : Long(169244639),       "timeActiveMicros" : Long(535),       "timeInactiveMicros" : Long(169244104),       "numParticipants" : 2,       "participants" : [          {             "name" : "shardB",             "coordinator" : true,             "readOnly" : false          },          {             "name" : "shardA",             "coordinator" : false,             "readOnly" : false          }       ],       "numReadOnlyParticipants" : 0,       "numNonReadOnlyParticipants" : 2    } } 
localOps:true 없이 mongos 실행 하면 트랜잭션 정보는 샤드 별로 표시됩니다.
localOps:true 없이 에서 mongos 실행 하는 경우 트랜잭션 정보는 샤드 별로 표시됩니다.
{    "shard" : "shardB",    "type" : "idleSession",    "host" : "shardB.mongodb.com:27018",    "desc" : "inactive transaction",    "client_s" : "198.51.100.1:53961",    "connectionId" : Long(63),    "appName" : "",    "clientMetadata" : {       "driver" : {          "name" : "PyMongo",          "version" : "3.9.0"       },       "os" : {          "type" : "Darwin",          "name" : "Darwin",          "architecture" : "x86_64",          "version" : "10.14.6"       },       "platform" : "CPython 3.7.1.final.0",       "mongos" : {          "host" : "example.mongodb.com:27017",          "client" : "198.51.100.1:53976",          "version" : "4.2.0"       }    },    "lsid" : {       "id" : UUID("720d403c-8daf-40bb-b61e-329e20b0493b"),       "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")    },    "transaction" : {       "parameters" : {          "txnNumber" : Long(1),          "autocommit" : false,          "readConcern" : {             "level" : "snapshot"          }       },       "readTimestamp" : Timestamp(0, 0),       "startWallClockTime" : "2019-10-21T18:31:12.192-04:00",       "timeOpenMicros" : Long(24137008),       "timeActiveMicros" : Long(52),       "timeInactiveMicros" : Long(24136956),       "expiryTime" : "2019-10-21T18:32:12.192-04:00"    },    "waitingForLock" : false,    "active" : false,    "locks" : {       "ReplicationStateTransition" : "w",       "Global" : "w",       "Database" : "w",       "Collection" : "w"    },    "lockStats" : {       "ReplicationStateTransition" : {          "acquireCount" : {             "w" : Long(3)          }       },       "Global" : {          "acquireCount" : {             "r" : Long(1),             "w" : Long(1)          }       },       "Database" : {          "acquireCount" : {             "r" : Long(1),             "w" : Long(1)          }       },       "Collection" : {          "acquireCount" : {             "r" : Long(1),             "w" : Long(1)          }       },       "Mutex" : {          "acquireCount" : {             "r" : Long(6)          }       }    } } {    "shard" : "shardA",    "type" : "idleSession",    ... } 
샘플링된 쿼리
이 예시 쿼리 샘플링 진행률에 대한 정보를 반환합니다.
- 첫 번째 단계에서는 모든 활성 작업에 대한 문서를 반환합니다. 
- 두 번째 단계에서는 쿼리 분석기와 관련된 문서를 필터링합니다. 
db.getSiblingDB("admin").aggregate( [    { $currentOp: { allUsers: true, localOps: true } },    { $match: { desc: "query analyzer" } } ] ) 
이 파이프라인은 다음과 유사한 출력을 반환합니다.
복제본 집합의 일부인 mongod에서 실행되는 경우:
{    "desc" : "query analyzer",    "ns" : "testDb.testColl",    "collUuid" : UUID("ed9dfb1d-5b7c-4c6b-82e9-b0f537335795"),    "samplesPerSecond" : 5,    "startTime" : ISODate("2023-08-08T16:23:22.846Z"),    "sampledReadsCount" : Long(2),    "sampledReadsBytes" : Long(346),    "sampledWritesCount" : Long(3),    "sampledWritesBytes" : Long(904) } 
샤딩된 클러스터의 일부인 mongos에서 실행 되는 경우:
{    "desc" : "query analyzer",    "ns" : "testDb.testColl",    "collUuid" : UUID("5130b4df-5966-434f-85f0-f8956b5ca74e"),    "samplesPerSecond" : 5,    "startTime" : ISODate("2023-08-08T16:15:07.427Z"),    "sampledReadsCount" : Long(2),    "sampledWritesCount" : Long(3) } 
샤딩된 클러스터의 일부인 mongod --shardsvr에서 실행 되는 경우:
{    "desc" : "query analyzer",    "ns" : "testDb.testColl",    "collUuid" : UUID("5130b4df-5966-434f-85f0-f8956b5ca74e"),    "startTime" : ISODate("2023-08-08T16:15:07.427Z"),    "sampledReadsCount" : Long(2),    "sampledReadsBytes" : Long(346),    "sampledWritesCount" : Long(3),    "sampledWritesBytes" : Long(904) } 
MongoDB Node.js 운전자 사용하여 집계 파이프라인 에 $currentOp 단계를 추가하려면 파이프라인 객체 에서 $currentOp 연산자 사용합니다.
비활성 세션
이 예시 트랜잭션 의 일부로 잠금을 보유하고 있는 비활성 세션에 대한 정보를 반환하는 다음 파이프라인 단계를 만듭니다.
- 첫 번째 단계에서는 트랜잭션 의 일부로 잠금을 유지하고 있는 모든 활성 작업과 비활성 세션에 대한 문서를 반환합니다. 
- 두 번째 단계에서는 트랜잭션의 일부로 잠금을 유지하고 있는 비활성 세션과 관련된 문서를 필터링합니다. 
그런 다음 예시 다음 집계 파이프라인 실행합니다.
const db = client.db("admin"); const pipeline = [   {     $currentOp: {       allUsers: true,       idleSessions: true     }   },   {     $match: {       active: false,       transaction: { $exists: true }     }   } ]; const cursor = db.aggregate(pipeline); return cursor; 
$currentOp.type 를 사용하여 $match 단계에서 동등한 필터하다 지정할 수 있습니다.
const db = client.db("admin"); const pipeline = [   {     $currentOp: {       allUsers: true,       idleSessions: true     }   },   { $match: { type: "idleSession" } } ]; const cursor = db.aggregate(pipeline); return cursor; 
샘플링된 쿼리
이 예시 쿼리 샘플링에 대한 정보를 반환하기 위해 다음 단계를 만듭니다.
- 첫 번째 단계에서는 모든 활성 작업에 대한 문서를 반환합니다. 
- 두 번째 단계에서는 쿼리 분석기와 관련된 문서를 필터링합니다. 
const db = client.db("admin"); const pipeline = [   {     $currentOp: {       allUsers: true,       localOps: true     }   },   { $match: { desc: "query analyzer" } } ]; const cursor = db.aggregate(pipeline); return cursor; 
출력 필드
각 출력 문서에는 작업과 관련된 다음 필드의 하위 집합이 포함될 수 있습니다.
- $currentOp.type
- 작업 유형입니다. 값은 다음 중 하나입니다. - op
- idleSession
- idleCursor
 - $currentOp.type이- op인 경우- $currentOp.op는 특정 작업에 대한 세부 정보를 제공합니다.
- $currentOp.client
- 작업이 시작된 클라이언트 연결의 IP 주소(또는 호스트 이름) 및 임시 포트입니다. - 다중 문서 트랜잭션의 경우 - $currentOp.client에는 트랜잭션 내에서 작업을 실행할 가장 최근 클라이언트에 대한 정보가 저장됩니다.- 독립형 및 복제본 세트에만 해당 
- $currentOp.client_s
- 작업이 시작되는 - mongos의 IP 주소(또는 호스트 이름) 및 임시 포트입니다.- 샤딩된 클러스터 전용 
- $currentOp.clientMetadata
- 클라이언트에 대한 추가 정보. - 다중 문서 트랜잭션의 경우 - $currentOp.client에는 트랜잭션 내에서 작업을 실행할 가장 최근 클라이언트에 대한 정보가 저장됩니다.
- $currentOp.appName
- 작업을 실행한 클라이언트 애플리케이션의 식별자입니다. - appName연결 문자열 옵션을 사용하여- appName필드에 대한 사용자 지정 값을 설정합니다.
- $currentOp.active
- 작업이 시작되었는지 여부를 지정하는 부울 값입니다. 작업이 시작된 경우 값은 - true(이)고 작업이 유휴 연결, 비활성 세션 또는 현재 유휴 상태인 내부 스레드와 같은 유휴 상태인 경우에는- false입니다. 작업이 다른 작업으로 대체된 경우에도 작업이 활성화될 수 있습니다.
- $currentOp.twoPhaseCommitCoordinator
- 둘 중 하나에 관한 정보입니다. - 쓰기 작업이 여러 샤드에 걸쳐 있는 트랜잭션에 대한 커밋 조정 지표입니다. - 커밋 조정은 샤드에 의해 처리되며 - $currentOp(- mongos또는 샤드 멤버에서 실행)은(는) 샤드가 현재 조정 중인 트랜잭션에 대해서만 샤드의 조정 정보를 반환합니다.- 다음 예시 커밋 조정 지표 만 필터링합니다. - db.getSiblingDB("admin").aggregate( [ - { $currentOp: { allUsers: true, idleSessions: true } }, - { $match: { desc: "transaction coordinator" } } - ] ) - 특정 커밋 조정 작업(즉, - type는- op이고- desc는 트랜잭션 코디네이터에 의해 생성된- "TransactionCoordinator").- 참고- idleSessions: false로 실행하는 경우, - $currentOp는- inactive- state의- $currentOp.twoPhaseCommitCoordinator정보를 반환하지 않습니다.
- 액세스 제어가 활성화되고 allUsers: false인 경우 - $currentOp는- $currentOp.twoPhaseCommitCoordinator정보를 반환하지 않습니다.
 - $currentOp.twoPhaseCommitCoordinator.txnNumber
- 멀티 샤드 트랜잭션의 트랜잭션 번호입니다. 
 - $currentOp.twoPhaseCommitCoordinator.action
- 트랜잭션 코디네이터에 의해 생성된 특정 커밋 조정 작업: - "sendingPrepare"
- "sendingCommit"
- "sendingAbort"
- "writingParticipantList"
- "writingDecision"
- "deletingCoordinatorDoc"
 - 특정 조정 작업에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.numParticipants
- 이 커밋에 참여하는 샤드 수입니다. - 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.state
- 커밋 조정 프로세스의 현재 단계/상태입니다. 단계설명- inactive- 커밋에 적극적으로 참여하지 않습니다. - writingParticipantList- 해당 멀티 샤드 트랜잭션의 일부인 샤드 목록의 로컬 레코드를 작성합니다. - waitingForVotes- 참가자가 커밋 또는 중단 투표로 응답할 때까지 기다립니다. - writingDecision- 투표에 따라 커밋하거나 중단하기로 한 코디네이터의 결정에 대한 로컬 기록을 작성합니다. - waitingForDecisionAck- 참가자가 코디네이터의 커밋 또는 중단 결정을 승인할 때까지 기다립니다. - deletingCoordinatorDoc- 커밋 결정의 로컬 레코드를 삭제합니다. - 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.commitStartTime
- 커밋이 시작된 날짜와 시간입니다. - 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover
- 커밋을 조정하는 샤드의 페일오버로 인해 커밋 조정이 재시작되었는지 여부를 나타내는 부울입니다. - hasRecoveredFromFailover값이 true인 경우- $currentOp.twoPhaseCommitCoordinator.stepDurations에 지정된 시간이 모든 단계에서 정확하지 않을 수 있습니다.- 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.stepDurations
- 활성 프로세스의 완료되었거나 진행 중인 - steps/state의 지속 시간(마이크로초 단위)과 누적 총 지속 시간이 포함된 문서입니다. 예시는 다음과 같습니다.- "stepDurations" : { - "writingParticipantListMicros" : Long(17801), - "totalCommitDurationMicros" : Long(42488463), - "waitingForVotesMicros" : Long(30378502), - "writingDecisionMicros" : Long(15015), - "waitingForDecisionAcksMicros" : Long(12077145), - "deletingCoordinatorDocMicros" : Long(6009) - }, - $currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover값이 true인 경우- stepDurations에 지정된 시간이 모든 단계에서 정확하지 않을 수 있습니다.- inactive상태에 있는 코디네이터의 경우 문서가 비어 있습니다.- "stepDurations" : { - } - 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.decision
- 커밋/중단 결정이 포함된 문서입니다. 예를 들면 다음과 같습니다. - 커밋 결정을 위한 경우: 
 - "decision" : { - "decision" : "commit", - "commitTimestamp" : Timestamp(1572034669, 3) - } - 중단 결정의 경우: 
 - "decision" : { - "decision" : "abort", - "abortStatus" : { - "code" : 282, - "codeName" : "TransactionCoordinatorReachedAbortDecision", - "errmsg" : "Transaction exceeded deadline" - } - } - 커밋 조정 지표에만 사용할 수 있습니다. 
 - $currentOp.twoPhaseCommitCoordinator.deadline
- 커밋을 완료해야 하는 날짜와 시간입니다. - 커밋 조정 지표에만 사용할 수 있습니다. 
 
- $currentOp.runBy
- 작업을 위해 - effectiveUser(s)를 가장하는 각 사용자에 대한 문서를 포함하는 배열입니다. runBy 문서에는- user이름과 인증- db가 포함되어 있습니다. 일반적으로 가장하는 사용자는- __system사용자입니다. 예:- "runBy" : [ - { - "user" : "__system", - "db" : "local" - } - ] 
- $currentOp.opid
- 작업의 식별자입니다. 이 값을 - mongosh의- db.killOp()로 전달하여 작업을 종료할 수 있습니다.- 경고- 실행 중인 작업은 매우 주의해서 종료합니다. 클라이언트가 시작한 작업을 종료할 때만 - db.killOp()을(를) 사용하고 내부 데이터베이스 작업은 종료하지 않도록 합니다.
- $currentOp.secs_running
- 작업 시간(초)입니다. MongoDB는 작업 시작 시간에서 현재 시간을 빼서 이 값을 계산합니다. - 연산이 실행 중인 경우, 즉 - active가- true인 경우에만 표시됩니다.
- $currentOp.microsecs_running
- 마이크로초 단위의 작업 시간입니다. MongoDB는 작업 시작 시간에서 현재 시간을 빼서 이 값을 계산합니다. - 연산이 실행 중인 경우, 즉 - active이(가)- true인 경우에만 표시됩니다.
- $currentOp.transaction
- 다중 문서 트랜잭션 정보가 포함된 문서입니다. - 작업이 트랜잭션의 일부인 경우에만 표시됩니다. - 복제본 세트에서 
- 샤딩된 클러스터에서 - $currentOp가 localOps:true 없이 실행되는 경우. 트랜잭션 정보는 샤드별로 표시됩니다.
- 샤딩된 클러스터에서 - $currentOp이 localOps:true로 실행되는 경우. 트랜잭션 정보는 샤드별이 아니라 복합 뷰로 표시됩니다.
 - $currentOp.transaction.parameters
- 다중 문서 트랜잭션에 대한 정보가 포함된 문서입니다. - 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. - $currentOp.transaction.parameters.autocommit
- 트랜잭션에 대해 자동 커밋이 켜져 있는지 여부를 나타내는 부울 플래그입니다. - 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.parameters.readConcern
- 트랜잭션에 대한 읽기 고려입니다. - 다중 문서 트랜잭션은 읽기 고려 - "snapshot",- "local"및- "majority"를 지원합니다.- 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.globalReadTimestamp
- '스냅샷' 읽기 고려를 사용하는 샤딩된 클러스터 트랜잭션의 작업에서 읽은 스냅샷의 타임스탬프입니다. 샤딩된 클러스터 트랜잭션은 데이터의 읽기 고려 - "snapshot"이(가) 샤드 간에 동기화됩니다. 즉, 다른 읽기 고려는 데이터가 샤드 전체에 걸쳐 동일한 스냅샷 보기에서 나온 것이라고 보장할 수 없습니다.- 샤딩된 클러스터 트랜잭션의 경우 localOps: true로 실행할 경우에만 표시됩니다. 
 - $currentOp.transaction.readTimestamp
- 이 트랜잭션의 작업에서 읽고 있는 스냅샷의 타임스탬프입니다. - 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 그러나 다음과 같은 경우에는 필드가 반환되지 않습니다. - 트랜잭션이 샤딩된 클러스터에 있고 '스냅샷' 읽기 고려를 사용합니다. 또한 
- $currentOplocalOps: true로 실행됩니다.
 - 대신 - $currentOp.transaction.globalReadTimestamp가 반환됩니다.
 - $currentOp.transaction.startWallClockTime
- 트랜잭션이 시작되는 날짜 및 시간(표준 시간대 포함)입니다. - 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.timeOpenMicros
- 트랜잭션의 기간(마이크로초 단위)입니다. - timeActiveMicros에- timeInactiveMicros를 더한 값은- timeOpenMicros와 같아야 합니다.- 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.timeActiveMicros
- 트랜잭션이 활성화된 총 시간 즉, 트랜잭션이 실행 중인 시간입니다. - timeActiveMicros에- timeInactiveMicros를 더한 값은- timeOpenMicros와 같아야 합니다.- 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.timeInactiveMicros
- 트랜잭션이 비활성화된 총 시간 즉, 트랜잭션이 실행 중인 작업이 없는 경우입니다. - timeInactiveMicros에- timeActiveMicros를 더한 값은- timeOpenMicros와 같아야 합니다.- 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 - $currentOp.transaction.numParticipants
- 이 트랜잭션에 참여하는 샤드 수입니다. - 연산이 샤딩된 클러스터에서 트랜잭션의 일부이고 - $currentOp가 localOps: true와 함께 실행되는 경우에만 존재합니다.
 - $currentOp.transaction.participants
- 이 트랜잭션에 참여하는 샤드를 자세히 설명하는 문서 배열입니다. 각 문서에는 이름, 샤드가 커밋 코디네이터 역할을 하는지 여부를 나타내는 플래그, 샤드가 트랜잭션의 읽기 작업에만 관여하는지 여부를 나타내는 플래그가 포함됩니다. - { - "name" : "shardA", - "coordinator" : false, - "readOnly" : false - } - 연산이 샤딩된 클러스터에서 트랜잭션의 일부이고 - $currentOp가 localOps: true와 함께 실행되는 경우에만 존재합니다.
 - $currentOp.transaction.numReadOnlyParticipants
- 이 트랜잭션에서 읽기 작업의 영향만 받는 샤드 수입니다. - 연산이 샤딩된 클러스터에서 트랜잭션의 일부이고 - $currentOp가 localOps: true와 함께 실행되는 경우에만 존재합니다.
 - $currentOp.transaction.numNonReadOnlyParticipants
- 이 트랜잭션의 읽기 이외의 작업에 영향을 받는 샤드 수입니다. - 연산이 샤딩된 클러스터에서 트랜잭션의 일부이고 - $currentOp가 localOps: true와 함께 실행되는 경우에만 존재합니다.
 - $currentOp.transaction.expiryTime
- 트랜잭션이 시간 초과되어 중단될 날짜와 시간(표준 시간대 포함)입니다. - $currentOp.transaction.expiryTime은- $currentOp.transaction.startWallClockTime+- transactionLifetimeLimitSeconds와 같습니다.- 자세한 내용은 트랜잭션의 런타임 제한을 참조하세요. - 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. 
 
 
- $currentOp.op
- 특정 작업 유형을 식별하는 문자열입니다. - $currentOp.type이- op인 경우에만 존재합니다.- 가능한 값은 다음과 같습니다. - "none"
- "update"
- "insert"
- "query"
- "command"
- "getmore"
- "remove"
- "killcursors"
 - "command"작업에는- createIndexes,- aggregate및- findAndModify등 대부분의 명령이 포함됩니다.- "query"연산에는- find연산과 OP_QUERY 연산이 포함됩니다.
- $currentOp.ns
- 작업이 대상으로 하는 네임스페이스입니다 . 네임스페이스는 데이터베이스 이름과 점( - .)으로 연결된 컬렉션 이름으로 구성됩니다(즉,- "<database>.<collection>").
- $currentOp.command
- 이 작업과 관련된 전체 명령 객체가 포함된 문서입니다. - 예를 들어, 다음 출력에는 - test데이터베이스의- items컬렉션에 대한- find작업에 대한 명령 객체가 포함되어 있습니다.- "command" : { - "find" : "items", - "filter" : { - "sku" : 1403978 - }, - ... - "$db" : "test" - } - 다음 예시 출력에는 - test데이터베이스의- items컬렉션에서 커서 ID가- 19234103609인 명령에 의해 생성된- getMore작업에 대한 명령 객체가 포함되어 있습니다.- "command" : { - "getMore" : Long("19234103609"), - "collection" : "items", - "batchSize" : 10, - ... - "$db" : "test" - }, - 명령 문서가 1KB를 초과하는 경우 문서의 형식은 다음과 같습니다. - "command" : { - "$truncated": <string>, - "comment": <string> - } - $truncated필드는 문서의- comment필드(있는 경우)를 제외한 문서의 문자열 요약을 포함합니다. 요약이 여전히 1KB를 초과하면 문자열 끝에 줄임표(...)로 표시되어 추가로 잘립니다.- comment필드는 주석이 작업에 전달된 경우 표시됩니다. 모든 데이터베이스 명령에 주석을 첨부할 수 있습니다.
- $currentOp.cursor
- idleCursor및- getmore작업에 대한 커서 정보가 포함된 문서입니다. 즉, 여기서- type은- idleCursor또는- op는- getmore입니다.- getmore이(가) 커서 정보에 액세스하기 전에- getmore작업을 보고하는 경우- cursor필드를 사용할 수 없습니다.- $currentOp.cursor.lastAccessDate
- 커서를 마지막으로 사용한 날짜와 시간입니다. - 커서가 활발하게 사용 중인 경우(예: - op는- getmore이고- type은- idleCursor가 아님)- lastAccessDate는 이전- getmore가 종료된 시간 또는 이것이 첫 번째- getmore인 경우 커서가 생성된 시간을 보고합니다.
 - $currentOp.cursor.noCursorTimeout
- 커서가 유휴 상태일 때 (즉, 커서에 - noTimeout옵션이 설정된 경우) 시간 초과가 발생하지 않음을 나타내는 플래그입니다.- true인 경우 유휴 상태에서도 커서가 시간 초과되지 않습니다. 
- False인 경우 유휴 상태일 때 커서가 시간 초과됩니다. 
 
 - $currentOp.cursor.tailable
- 커서가 고정 사이즈 컬렉션의 테일 커서(tailable cursor)인지 여부를 나타내는 플래그입니다. 테일 커서(tailable cursor)는 클라이언트가 초기 커서에서 결과를 소모한 후에도 열린 상태로 유지됩니다. 
 - $currentOp.cursor.awaitData
- 테일 커서(tailable cursor)가 데이터를 반환하지 않는 대신 새 데이터를 기다리는 동안 커서의 - getMore명령을 일시적으로 차단해야 하는지 여부를 나타내는 플래그입니다.- 테일 커서가 아닌 경우 값은 항상 False입니다. 
 - $currentOp.cursor.originatingCommand
- originatingCommand필드에는 원래 커서를 생성한 전체 명령 객체(예:- find또는- aggregate)가 포함됩니다.
 - $currentOp.cursor.planSummary
- 커서가 컬렉션 스캔( - COLLSCAN) 또는 인덱스 스캔(- IXSCAN { ... })을 사용할지 지정하는 문자열입니다.- IXSCAN에는 사용된 인덱스의 사양 문서도 포함되어 있습니다.- mongos에서- localOps: true(으)로 실행하거나- idleCursors에서 보고할 때는 사용할 수 없습니다.
 
- $currentOp.cursor.queryFramework
- 버전 6.2에 추가되었습니다. - 작업을 처리하는 데 사용되는 쿼리 프레임워크를 지정하는 문자열입니다. 
- $currentOp.planSummary
- 커서가 컬렉션 스캔( - COLLSCAN) 또는 인덱스 스캔(- IXSCAN { ... })을 사용할지 지정하는 문자열입니다.- mongos에서- localOps: true로 실행할 때는 사용할 수 없습니다.
- $currentOp.prepareReadConflicts
- 쓰기가 있는 준비된 트랜잭션이 커밋되거나 중단될 때까지 현재 작업에서 기다려야 하는 횟수입니다. - 기다리는 동안 작업은 필요한 잠금 및 스토리지 엔진 리소스를 계속 보유합니다. 
- $currentOp.numYields
- numYields다른 작업을 완료할 수 있도록 작업이 양보된 횟수를 보고하는 카운터입니다.- 일반적으로 작업은 MongoDB가 아직 메모리로 완전히 읽지 않은 데이터에 액세스해야 할 때 양보합니다. 이를 통해 MongoDB가 산출 작업에 대한 데이터를 읽는 동안 메모리에 데이터가 있는 다른 작업을 신속하게 완료할 수 있습니다. 
- $currentOp.dataThroughputLastSecond
- 마지막 1초 동안 - validate작업으로 처리된 데이터 양(MiB)입니다. 현재 문서를 스캔하고 있는- validate작업에만 사용할 수 있습니다. 예시:- "msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%", - "progress" : { - "done" : 7258, - "total" : 24000 - }, - "numYields" : 0, - "dataThroughputLastSecond" : 15.576952934265137, - "dataThroughputAverage" : 15.375944137573242, 
- $currentOp.dataThroughputAverage
- validate작업으로 처리된 평균 데이터 양(MiB)입니다. 현재 문서를 스캔하고 있는- validate작업에만 사용할 수 있습니다. 예시:- "msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%", - "progress" : { - "done" : 7258, - "total" : 24000 - }, - "numYields" : 0, - "dataThroughputLastSecond" : 15.576952934265137, - "dataThroughputAverage" : 15.375944137573242, 
- $currentOp.waitingForLatch
- waitingForLatch문서는 작업이 내부 잠금 프리미티브(일명 래치)를 획득하거나 내부 조건이 충족되기를 기다리는 경우에만 사용할 수 있습니다.- 예를 들면 다음과 같습니다. - "waitingForLatch" : { - "timestamp" : ISODate("2020-03-19T23:25:58.412Z"), - "captureName" : "FutureResolution", - "backtrace" : [ ] // Only if backtrace: true - }, 출력 필드설명- timestamp - 작업이 대기하기 시작한 날짜와 시간입니다. - captureName - 작업이 현재 차단된 섹션의 내부 이름입니다. - backtrace - 콜스택(사용 가능한 경우)입니다. 이 필드 backtrace: true인 경우에만 포함됩니다. 
- $currentOp.locks
- locks문서는 작업이 현재 보유하고 있는 잠금의 유형 및 모드를 보고합니다. 가능한 잠금 유형은 다음과 같습니다.잠금 유형설명- ParallelBatchWriterMode- 병렬 배치 쓰기 모드의 잠금을 나타냅니다. - 이전 버전에서는 PBWM 정보가 - Global잠금 정보의 일부로 보고되었습니다.- ReplicationStateTransition- 레플리카 세트 멤버 상태 전환에 취한 잠금을 나타냅니다. - Global- 글로벌 락을 나타냅니다. - Database- 데이터베이스 락을 나타냅니다. - Collection- 컬렉션 락을 나타냅니다. - Mutex- 뮤텍스를 나타냅니다. - Metadata- 메타데이터 락을 나타냅니다. - oplog- oplog 락을 나타냅니다. - 가능한 모드는 다음과 같습니다. 잠금 모드설명- R- 공유(S) 락을 나타냅니다. - W- 독점(X) 락을 나타냅니다. - r- 인텐트 공유(IS) 락을 나타냅니다. - w- 인텐트 독점(IX) 락을 나타냅니다. 
- $currentOp.lockStats
- 각 잠금 유형 및 모드(잠금 유형 및 모드에 관한 설명은 - locks참조)에 대해 다음 정보를 반환합니다.- $currentOp.lockStats.acquireWaitCount
- 잠금이 충돌 모드에서 유지되었기 때문에 작업이 - acquireCount개의 잠금에 도달할 때까지 기다려야 했던 횟수입니다.- acquireWaitCount가- acquireCount보다 작거나 같습니다.
 - $currentOp.lockStats.timeAcquiringMicros
- 작업이 잠금을 획득하기 위해 대기해야 했던 누적 시간(마이크로초)입니다. - timeAcquiringMicros를- acquireWaitCount로 나누면 특정 잠금 모드의 대략적인 평균 대기 시간을 구할 수 있습니다.
 
- $currentOp.waitingForLock
- 부울 값을 반환합니다. 작업이 잠금을 기다리고 있는 경우 - waitingForLock은- true이고 작업에 필요한 잠금이 있는 경우- false입니다.
- $currentOp.msg
- msg는 작업의 상태와 진행 상황을 설명하는 메시지를 제공합니다. 인덱싱 또는 mapReduce 작업의 경우 필드는 완료율을 보고합니다.
- $currentOp.progress
- mapReduce 또는 인덱싱 작업의 진행 상황을 보고합니다. - progress필드는- msg필드의 완료율에 해당합니다.- progress는 다음 정보를 지정합니다.
- $currentOp.waitingForFlowControl
- 흐름 제어로 인해 작업이 대기해야 했는지 여부를 나타내는 부울입니다. 
- $currentOp.totalOperationTimeElapsed
- 현재 리샤딩 작업의 경과된 총 시간(초)입니다. 새 리샤딩 작업이 시작될 때 시간은 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 표시됩니다. - 버전 5.0에 추가. 
- $currentOp.remainingOperationTimeEstimated
- 현재 리샤딩 작업을 위해 남은 예상 시간(초)입니다. 새로운 리샤딩 작업이 시작되면 시간은 -1로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 존재합니다. 추정치를 계산할 수 없는 경우 이 필드가 없을 수 있습니다. - 버전 5.0에 추가. 
- $currentOp.approxDocumentsToCopy
- 리샤딩 작업 중 도너 샤드에서 수신자 샤드로 복사할 문서의 대략적인 개수입니다. 이 숫자는 리샤딩 작업 시작 시 설정되는 추정치이며 설정된 후에 변경되지 않습니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. 리샤딩 후 데이터 분포가 완전히 균일하지 않은 경우 - $currentOp.documentsCopied및- $currentOp.bytesCopied가 각각- $currentOp.approxDocumentsToCopy및- $currentOp.approxBytesToCopy를 초과할 수 있습니다.- 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.documentsCopied
- 리샤딩 작업 중에 양식 도너 샤드를 수신자 샤드로 복사한 문서 수입니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.approxBytesToCopy
- 리샤딩 작업 중에 도너 샤드에서 수신자 샤드로 복사할 대략적인 바이트 수입니다. 이 숫자는 리샤딩 작업 시작 시 설정되는 추정치이며 설정된 후에 변경되지 않습니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. 리샤딩 후 데이터 분포가 완전히 균일하지 않은 경우 - $currentOp.documentsCopied및- $currentOp.bytesCopied가 각각- $currentOp.approxDocumentsToCopy및- $currentOp.approxBytesToCopy를 초과할 수 있습니다.- 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.bytesCopied
- 리샤딩 작업 중에 도너 샤드에서 수신자 샤드로 복사된 바이트 수입니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.totalCopyTimeElapsed
- 현재 리샤딩 작업을 위해 기증자 샤드에서 수신자 샤드로 진행 중인 데이터 복사 작업에 소요된 총 경과 시간(초)입니다. 새로운 리샤딩 작업이 시작되면 시간은 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.oplogEntriesFetched
- 현재 리샤딩 작업을 위해 oplog에서 가져온 항목 수입니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.oplogEntriesApplied
- 현재 리샤딩 작업을 위해 oplog에 적용된 항목 수입니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.totalApplyTimeElapsed
- 현재 리샤딩 작업의 적용 단계에 소요된 총 경과 시간 (초) 입니다. 적용 단계에서 수신자 샤드는 oplog 항목을 적용하여 기증자 샤드에서 새로 수신되는 쓰기를 기반으로 데이터를 수정합니다. 새 리샤딩 작업이 시작될 때 시간은 0으로 설정됩니다. - 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. - 버전 5.0에 추가. 
- $currentOp.countWritesDuringCriticalSection
- 현재 리샤딩 작업의 중요 섹션에서 수행된 쓰기 수입니다. 중요 섹션은 현재 리샤딩되고 있는 컬렉션에 새로 들어오는 쓰기를 방지합니다. 새로운 리샤딩 작업이 시작되면 이 숫자는 0으로 설정됩니다. - 리샤딩 작업이 진행되는 동안 기증자 샤드에만 존재합니다. - 버전 5.0에 추가. 
- $currentOp.totalCriticalSectionTimeElapsed
- 현재 리샤딩 작업의 중요 섹션에 대한 총 경과 시간(초)입니다. 중요 섹션은 현재 리샤딩되고 있는 컬렉션에 새로 들어오는 쓰기를 방지합니다. 새 리샤딩 작업이 시작될 때 시간은 0으로 설정됩니다. - 리샤딩 작업이 진행되는 동안 기증자 샤드에만 존재합니다. - 버전 5.0에 추가. 
- $currentOp.donorState
- 리샤딩 작업을 위한 기증자 샤드의 현재 상태입니다. 새 리샤딩 작업이 시작되면 상태가 - unused(으)로 설정됩니다.- 리샤딩 작업이 진행되는 동안 기증자 샤드에만 존재합니다. 상태설명- unused- 리샤딩 작업이 시작되거나 프라이머리 페일오버에서 복구되려고 합니다. - preparing-to-donate- 기증자 샤드가 수신자 샤드에 데이터를 기증할 준비를 하고 있습니다. - donating-initial-data- 기증자 샤드가 수신자 샤드에 데이터를 기증 중입니다. - donating-oplog-entries- 기증자 샤드가 수신자 샤드에 oplog 항목을 기증 중입니다. - preparing-to-block-writes- 기증자 샤드가 리샤딩 중인 컬렉션에 새로 수신되는 쓰기 연산을 방지하려고 합니다. - error- 리샤딩 연산 중에 오류가 발생했습니다. - blocking-writes- 기증자 샤드가 새로 수신되는 쓰기 연산을 방지하고 있습니다. 또한 기증자 샤드는 새로 수신되는 쓰기를 방지한 사실을 모든 수신자 샤드에 알렸습니다. - done- 기증자 샤드가 이전의 샤드 컬렉션을 제거했으며 리샤딩 연산이 완료되었습니다. - 버전 5.0에 추가. 
- $currentOp.recipientState
- 리샤딩 작업을 위한 수신자 샤드의 현재 상태입니다. 새 리샤딩 작업이 시작되면 상태가 - unused(으)로 설정됩니다.- 리샤딩 작업이 진행 중인 경우에만 수신자 샤드에 존재합니다. 상태설명- unused- 리샤딩 작업이 시작되거나 프라이머리 페일오버에서 복구되려고 합니다. - awaiting-fetch-timestamp- 수신자 샤드는 기부자 샤드가 데이터를 기부할 준비가 되기를 기다리고 있습니다. - creating-collection- 수신자 샤드가 새 샤드 컬렉션을 생성 중입니다. - cloning- 수신자 샤드가 기증자 샤드로부터 데이터를 수신 중입니다. - applying- 수신자 샤드가 기증자 샤드로부터 새로 수신되는 쓰기를 기반으로 데이터 사본을 수정하기 위해 oplog 항목을 적용 중입니다. - error- 리샤딩 작업 중에 오류가 발생했습니다. - strict-consistency- 수신자 샤드의 임시 컬렉션에는 모든 데이터 변경사항이 저장되어 있습니다. - done- 리샤딩 연산이 완료되었습니다. - 버전 5.0에 추가. 
- $currentOp.coordinatorState
- 현재 리샤딩 작업의 리샤딩 코디네이터 상태입니다. 리샤딩 코디네이터는 config 서버 프라이머리에서 실행되는 작업입니다. 새 리샤딩 작업이 시작되면 상태가 - unused로 설정됩니다.- 조정 config 서버에만 존재합니다. 상태설명- unused- 리샤딩 작업이 시작되거나 프라이머리 페일오버에서 복구되려고 합니다. - initializing- 리샤딩 조정자가 조정자 문서를 - config.reshardingOperations에 삽입한 후 원본 컬렉션의- config.collections항목에- reshardingFields을(를) 추가했습니다.- preparing-to-donate- 리샤딩 조정자가 - 이(가) 임시 항목에 대해 config.collections항목을 만들었습니다.
- 리샤딩 컬렉션.
 
- 이(가) 임시 항목에 대해 
- 다음을 기반으로 범위에 대해 config.chunks에 항목을 삽입했습니다.
- 새 샤드 키.
 
- 다음을 기반으로 범위에 대해 
- 연결된 모든 구역에 대해 config.tags에 항목을 삽입했습니다.
- 새 샤드 키 사용합니다.
 
- 연결된 모든 구역에 대해 
 - 조정자는 리샤딩 연산을 시작하라고 참여자 샤드에 알립니다. 그런 다음 조정자는 모든 기증자 샤드가 - minFetchTimestamp을(를) 선택하고 기증할 준비가 될 때까지 대기합니다.- cloning- 리샤딩 조정자는 데이터를 수신자 샤드에 기증하라고 기증자 샤드에 알립니다. 조정자는 모든 수신자가 기증자로부터의 데이터 복제를 완료할 때까지 대기합니다. - applying- 리샤딩 조정자는 기증자 샤드로부터 새로 수신되는 쓰기를 기반으로 데이터 사본을 수정하라고 수신자 샤드에 알립니다. 조정자는 모든 수신자가 oplog 항목 적용을 완료할 때까지 대기합니다. - blocking-writes- 리샤딩 조정자는 리샤딩 중인 컬렉션에 새로 수신되는 쓰기 연산을 방지하라고 기증자 샤드에 알립니다. 그런 다음 조정자는 모든 수신자가 모든 데이터를 변경할 때까지 대기합니다. - aborting- 리샤딩 연산 중에 복구 불가능한 오류가 발생했거나 - abortReshardCollection명령(또는- sh.abortReshardCollection()메서드)이 실행되었습니다.- committing- 리샤딩 조정자는 임시 리샤딩 컬렉션의 - config.collections항목을 제거합니다. 그런 다음 조정자는 소스 컬렉션의 항목에- recipientFields을(를) 추가합니다.- 버전 5.0에 추가. 
- $currentOp.opStatus
- 리샤딩 작업의 현재 상태입니다. - 리샤딩 작업이 수행되는 경우에만 존재합니다. 작업이 완료되면 - currentOp출력에서 작업이 제거됩니다.상태설명- actively running- 리샤딩 작업이 활발하게 실행 중입니다. - success- 리샤딩 작업이 성공했습니다. - failure- 리샤딩 작업이 실패했습니다. - canceled- 리샤딩 작업이 취소되었습니다. - 버전 5.0에 추가. 
- $currentOp.collUuid
- 샘플 collection의 UUID입니다. - 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.startTime
- 쿼리 샘플링이 시작된 시간입니다. - 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.samplesPerSecond
- 초당 샘플링할 최대 쿼리 수입니다. - mongos에서- $currentOp을(를) 실행할 때만 보고됩니다.- 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.sampledReadsCount
- 샘플링된 읽기 쿼리 수입니다. - 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.sampledWritesCount
- 샘플링된 쓰기 쿼리 수입니다. - 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.sampledReadsBytes
- 샘플링된 읽기 쿼리의 크기(바이트)입니다. - 복제본 세트에서는 모든 - mongod에 대해 보고됩니다.- 샤딩된 클러스터에서 - --shardsvr이(가) 있는- mongod에 대해서만 보고되었습니다.- 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가. 
- $currentOp.sampledWritesBytes
- 샘플링된 쓰기 쿼리의 크기(바이트)입니다. - 복제본 세트에서는 모든 - mongod에 대해 보고됩니다.- 샤딩된 클러스터에서 - --shardsvr이(가) 있는- mongod에 대해서만 보고되었습니다.- 이 필드는 쿼리 샘플링과 관련된 문서에만 표시됩니다. 자세한 내용은 샘플링된 쿼리를 참조하세요. - 버전 7.0에 추가.