db.runCommand()
정의
db.runCommand(command, [options])
지정된 데이터베이스 명령을 실행하기 위한 도우미를 제공합니다. 이는 셸과 드라이버 간에 일관적인 인터페이스를 제공하므로 데이터베이스 명령을 실행하는 데 선호되는 방법입니다.
Parameter유형설명command
문서 또는 문자열명령을 지정하는 문서 또는 문자열입니다. 문자열로 지정된 경우db.runCommand()
는 문자열을 문서로 변환합니다.options
문서mongosh 2.0부터는mongosh
명령 실행 방법을 지정하는 옵션이 추가되었습니다.options.readPreference
명령을 실행할 읽기 설정입니다. 지정하지 않은 경우 기본값은
primary
입니다.db.runCommand()
는setReadPref()
를 사용하거나 연결 문자열에readPreference
를 지정하는 등 다른 모든 읽기 설정 전역 구성 집합을 무시합니다.mongosh 1.x에서
db.runCommand()
는options
인수를 사용하지 않습니다. 읽기 설정을 설정하려면Mongo.setReadPref()
를 사용하거나 연결 문자열에readPreference
를 지정합니다.시간 제한을 밀리초 단위로 지정하려면 실행 중인 작업 종료를 참조하세요.
행동
db.runCommand()
는 현재 데이터베이스의 컨텍스트에서 명령을 실행합니다. 일부 명령은 admin
데이터베이스의 컨텍스트에서만 적용할 수 있으며, 이러한 명령을 실행하기 전에 db
객체를 변경하거나 db.adminCommand()
를 사용해야 합니다.
읽기 설정
mongosh 2.0부터는 옵션 인수를 사용하여 명령에 대한 읽기 설정을 지정할 수 있습니다. 읽기 설정을 지정하지 않으면 db.runCommand()
는 primary
로 기본 설정됩니다.
경고
mongosh 2.0에서 db.runCommand()
는 Mongo.setReadPref()
를 사용하거나 연결 문자열에 readPreference
를 지정한 경우 등 다른 모든 읽기 설정 전역 구성 집합을 무시합니다.
mongosh 1.x에서 db.runCommand()
는 options
인수를 사용하지 않습니다. db.runCommand()
에서는 Mongo.setReadPref()
를 사용하거나 연결 문자열에 readPreference
를 지정하여 지정된 읽기 설정을 사용합니다.
예시
다음 예에서는 db.runCommand()
를 사용하여 데이터베이스 명령을 실행하는 방법을 보여 줍니다.
읽기 설정이 지정되지 않은 hello 명령
이 예에서는 db.runCommand()
를 사용하여 hello
명령을 실행하는 방법을 보여 줍니다.
db.runCommand( { hello: 1 } )
출력에 대한 자세한 내용은 hello 출력을 참조하세요.
읽기 설정 동작에 대한 자세한 내용은 읽기 설정을 참조하세요.
readPreference: secondaryPreferred가 포함된 hello 명령
이 예시에서는 db.runCommand()
를 사용하여 secondaryPreferred
읽기 설정으로 hello
명령을 실행하는 방법을 보여 줍니다.
db.runCommand( { hello: 1 }, { readPreference: "secondaryPreferred" } )
출력에 대한 자세한 내용은 hello 출력을 참조하세요.
읽기 설정 동작에 대한 자세한 내용은 읽기 설정을 참조하세요.
응답
이 메서드는 다음 필드가 포함된 응답 문서를 반환합니다.
필드 | 설명 |
---|---|
<command result> | 실행된 command 와 관련된 결과 필드입니다. |
ok | 명령이 성공했는지( 1 ) 또는 실패했는지(0 ) 여부를 나타내는 숫자입니다. |
operationTime | 작업의 논리적 시간입니다. MongoDB는 논리적 시간을 사용하여 작업의 순서를 지정합니다. 복제본 세트 및 샤딩된 클러스터에만 해당됩니다. 명령이 oplog 엔트리(예시: 읽기 작업)를 생성하지 않는 경우 작업은 논리적 시계를 진행하지 않습니다. 이 경우
인과적으로 일관적인 세션과 관련된 작업의 경우 MongoDB 드라이버는 논리적 시간을 사용하여 읽기 작업 및 |
$clusterTime | 서명된 클러스터 시간을 반환하는 문서입니다. 클러스터 시간은 작업 순서를 지정하는 데 사용되는 논리적 시간입니다. 복제본 세트 및 샤딩된 클러스터에만 해당됩니다. 내부용으로만 사용하세요. 이 문서에는 다음 필드가 포함되어 있습니다:
|