연합 데이터베이스 인스턴스에 대한 쿼리 상태 확인
$currentOp ( 집계 )를 사용하여 실행 쿼리 의 상태를 확인할 수 있습니다. $currentOp
을(를) 실행 하려면 db.aggregate 헬퍼를 사용합니다.
참고
관리 사용자인 경우 $currentOp
allUsers
옵션을 사용하여 모든 쿼리를 볼 수 있습니다.
$currentOp 는 admin
데이터베이스에 대해 실행해야 합니다.
참고
집계 파이프라인 에 $currentOp 단계만 포함된 경우 Atlas Data Federation 은 최대 동시 쿼리 수에 대한 제한을 시행하다 하지 않습니다. 최대 동시 쿼리 수에 도달한 후에도 $currentOp 단계만 포함하는 쿼리를 실행 수 있습니다.
구문
db.aggregate([{$currentOp: {} }])
출력
$currentOp 는 다음 필드가 있는 문서를 반환합니다.
필드 | 유형 | 설명 |
---|---|---|
$currentOp.type | 문자열 | 작업 유형입니다. 값은 항상 op 입니다. |
$currentOp.opid | ObjectId 형식의 작업 고유 식별자입니다. 필드 값은 오류 및 로그에서 볼 수 있는 correlationID 와(과) 동일합니다. | |
$currentOp.client | 문자열 | 작업이 시작된 클라이언트 연결의 IP 주소(또는 호스트 이름) 및 임시 포트입니다. |
$currentOp.clientMetadata | 문서 | 클라이언트와 같은 추가 클라이언트 정보:
|
$currentOp.active | 부울 | 작업이 시작되었는지 여부를 지정합니다. 작업이 시작되거나 완료된 경우 값은 true 이고 작업이 유휴 상태인 경우 false 입니다. |
$currentOp.currentOpTime | 작업 시작 시간입니다. | |
$currentOp.ns | 문자열 | 작업이 대상으로 하는 네임스페이스 입니다. 네임스페이스 는 데이터베이스 이름과 점으로 연결된 컬렉션 이름( . )으로 구성됩니다. 즉, "<database>.<collection>" 입니다. |
$currentOp.command | 문서 | 이 작업과 관련된 명령 객체 가 포함된 문서 입니다. |
$currentOp.msg | 문자열 | 작업의 상태 및 진행 상황을 설명하는 메시지입니다. |
$currentOp.progress | 문서 | 작업을 위해 수행된 작업의 양이 포함된 문서입니다. |
$currentOp.progress.workDone | integer | 문서가 파이프라인을 통과할 때 증가하는 숫자로, 쿼리 완료를 위한 진행 상황이 있음을 나타냅니다. 이 숫자는 백분율이 아니며 남은 작업량을 추정하는 데 사용할 수 없습니다. |
예시
아래 예시 에서는 시작하기 튜토리얼에 설명된 sample
데이터베이스 의 airbnb
컬렉션 에서 다음 쿼리 중 하나가 실행 가정합니다.
db.airbnb.find( { "address.market" : "Porto", "review_scores.review_scores_rating": {$gt: 79}}).comment("Find properties in Porto")
db.airbnb.aggregate( [ { $match: { "address.market": "Porto", "review_scores.review_scores_rating": {$gt: 79} } } ], { comment: "Find properties in Porto" })
다음 예제에서는 sample
데이터베이스의 airbnb
collection에서 실행된 이전 쿼리에 대한 정보를 반환합니다.
db.aggregate([{$currentOp: {} }])
$currentOp 는 다음 문서를 반환합니다. workDone
필드 에는 $currentOp
이(가) 실행 때 770 문서가 처리된 것으로 표시됩니다.
{ "type" : "op", "opid" : ObjectId("1635fa35bf73f4320c6f99d0"), "client" : "73.231.201.205:62351", "clientMetadata" : { "application" : { "name" : "MongoDB Shell" }, "driver" : { "name" : "MongoDB Internal Client", "version" : "4.2.0" }, "os" : { "type" : "Darwin", "name" : "Mac OS X", "architecture" : "x86_64", "version" : "18.7.0" } }, "active" : true, "currentOpTime" : ISODate("2020-03-26T12:51:43.291Z"), "ns" : "sample.airbnb", "command" : { "find" : "airbnb", "filter" : { "address.market" : "Porto", "review_scores.review_scores_rating" : { "$gt" : 79 } }, "comment" : "Find properties in Porto", "lsid" : { "id" : UUID("2211f8ac-56b2-4ba4-bb0c-2e5dd5b7cc21") }, "$db" : "sample" }, "msg" : "work done: 770", "progress" : { "workDone" : 770 } } { "type" : "op", "client" : "73.231.201.205:62353", "clientMetadata" : { "application" : { "name" : "MongoDB Shell" }, "driver" : { "name" : "MongoDB Internal Client", "version" : "4.2.0" }, "os" : { "type" : "Darwin", "name" : "Mac OS X", "architecture" : "x86_64", "version" : "18.7.0" } }, "active" : true, "currentOpTime" : ISODate("2020-03-26T12:51:47.380Z"), "ns" : "admin.$cmd.aggregate", "command" : { "aggregate" : 1, "pipeline" : [ { "$currentOp" : { } } ], "cursor" : { }, "lsid" : { "id" : UUID("045ea383-65d7-4e88-a989-37b7a8da23bc") }, "$db" : "admin" }, "msg" : "work done: 0", "progress" : { "workDone" : 0 } }