레거시 셸 mongo
shell
참고
mongo
shell은 MongoDB v5.0에서 더 이상 사용되지 않습니다. 대안은 mongosh
입니다.
이전 mongo
셸 문서는 해당 MongoDB
릴리스에 해당하는 문서에 포함되어 있습니다.
이전 버전에 대한 빠른 링크
자세한 내용은 mongo
shell 과 mongosh
비교 를 참조하세요.
설명
mongo
는 에 대한 JavaScript shell 대화형 MongoDB 인터페이스로, 시스템 관리자를 위한 강력한 인터페이스와 개발자가 데이터베이스를 사용하여 쿼리 및 작업을 직접 테스트할 수 있는 방법을 제공합니다. mongo
은 또한 MongoDB와 함께 사용할 수 있는 모든 기능을 갖춘 JavaScript 환경을 제공합니다.
mongo
shell 은 MongoDB 서버 설치 의 일부로 포함됩니다. 서버 를 이미 설치한 경우 mongo
shell 은 서버 바이너리와 동일한 위치 에 설치됩니다.
또는 mongo
shell 을 MongoDB Server 와 별도로 다운로드 하려면 다음 단계에 따라 shell 을 독립형 패키지 로 설치할 수 있습니다.
사용 중인 MongoDB 에디션의 다운로드 센터에 액세스합니다.
드롭다운에서 원하는 Version 및 Platform 를 선택합니다.
플랫폼에 따라 다운로드 Package 를 선택합니다.
아카이브에서
mongo
shell 을 파일 시스템의 위치 로 복사합니다.
플랫폼별 추가 설치 지침 을 확인하거나 mongo
shell 을 MongoDB Server 설치의 일부로 설치하려면 해당 플랫폼의 설치 가이드 를 참조하세요.
구문
기본값 설정을 사용하여 명령줄 옵션 없이
mongo
shell 을 실행 수 있습니다.mongo 호스트, 포트 및 기타 연결 옵션을 지정하는 연결 string 을 사용하여 을 실행할 수 있습니다.
mongo
shell 예를 들어 다음에는tls
가 포함됩니다.mongo "mongodb://mongodb0.example.com:27017/testdb?tls=true" tls
옵션은 MongoDB 4.2 부터 사용할 수 있습니다. 이전 버전에서는ssl
옵션을 사용합니다.mongo
shell 을 복제본 세트 에 연결하려면 연결 string 에 복제본 세트 멤버와 이름을 지정할 수 있습니다.mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA" 연결 string 옵션에 대한 자세한 내용은 연결 문자열을 참조하세요 .
다양한 명령줄 옵션을 사용하여
mongo
shell 을 실행할 수 있습니다. 예를 들면 다음과 같습니다.mongo --host mongodb0.example.com:27017 [additional options] mongo --host mongodb0.example.com --port 27017 [additional options] 사용 가능한 옵션에 대한 자세한 내용은 옵션을 참조하세요.
옵션
4.2 버전에서 변경됨:
MongoDB는 SSL 옵션을 더 이상 사용하지 않고 대신 새로운 해당 TLS 옵션을 추가합니다.
주요 옵션
--shell
shell 인터페이스를 활성화합니다.
mongo
명령을 호출하고 JavaScript 파일을 인수로 지정하거나--eval
를 사용하여 명령줄에서 JavaScript 를 지정하는 경우,--shell
옵션은 파일 실행이 완료된 후 사용자에게 shell 프롬프트를 표시합니다.
--nodb
shell 이 데이터베이스 인스턴스에 연결되는 것을 방지합니다. 나중에 shell 내에서 데이터베이스 에 연결하려면 새 연결 열기를 참조하세요.
--port <port>
mongod
또는mongos
인스턴스 가 수신 대기 중인 포트를 지정합니다.--port
를 지정하지 않으면mongo
는 포트27017
에 연결을 시도합니다.
--host <hostname>
mongod
또는mongos
가 실행 호스팅하다 머신의 이름을 지정합니다. 이를 지정하지 않으면mongo
는 로컬 호스트에서 실행 MongoDB 프로세스 에 연결을 시도합니다.- 다음을 수행하여 복제본 세트에 연결합니다.
replica set name
및 설정하다 멤버의 시드 목록 을 지정합니다. 다음 양식을 사용합니다.<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> - TLS/SSL 연결(
--ssl
)의 경우, mongosh
은(는) 호스트 이름(--host
옵션 또는 연결 string 에 지정됨)이mongod
에서 제시한 인증서의SAN
(또는SAN
이(가) 없는 경우CN
)과 일치하는지 확인합니다.mongos
.SAN
이 있는 경우mongosh
은CN
과 일치하지 않습니다. 호스트 이름이SAN
(또는CN
)와 일치하지 않으면mongosh
연결에 실패합니다. MongoDB 4 에서 시작.2, SAN 비교를 수행할 때 MongoDB 는 DNS 이름 또는 IP 주소 비교를 지원합니다. 이전 버전에서는 MongoDB 가 DNS 이름 비교만 지원했습니다.- DNS 시드 목록 연결 의 경우
연결 프로토콜을
mongodb+srv
으로 지정하고, 그 뒤에 DNS SRV 호스트 이름 기록과 옵션을 지정합니다.authSource
및replicaSet
옵션이 연결 string 에 포함된 경우, TXT 레코드에 설정된 해당 DNS 구성 옵션보다 우선 적용됩니다.mongodb+srv:
연결 string 을 사용하면 클라이언트 연결에 대해 암시적으로 TLS/SSL(일반적으로ssl=true
(으)로 설정됨)이 활성화됩니다. 쿼리 string 에ssl=false
을(를) 설정하여 TLS/SSL 옵션을 해제할 수 있습니다.예시:
mongodb+srv://server.example.com/?connectionTimeout=3000ms 버전 3.6에 새로 추가되었습니다.
--eval <javascript>
인수로 지정된 JavaScript 표현식을 평가합니다.
mongo
은(는) 코드를 평가할 때 자체 환경을 로드하지 않습니다. 따라서 shell 환경의 많은 옵션을 사용할 수 없습니다.
--username <username>, -u <username>
인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 사용자 이름을 지정합니다.
--password
및--authenticationDatabase
옵션과 함께 사용합니다.MongoDB Atlas 을 사용하여 클러스터 에
MONGODB-AWS
authentication mechanism
연결하는 Amazon Web Services 경우 ID 이 필드 또는 연결 에 액세스 string 키 를 지정합니다. 또는 이 값을 환경 변수AWS_ACCESS_KEY_ID
로 제공할 수도 있습니다. IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.Amazon Web Services
--password <password>, -p <password>
인증을 사용하는 MongoDB database 에 인증 하는 데 사용할 비밀번호를 지정합니다.
--username
및--authenticationDatabase
옵션과 함께 사용합니다.mongo
가 비밀번호를 입력하라는 메시지를 표시하도록 하려면 마지막 옵션으로--password
옵션을 입력하고 인수를 생략합니다.MongoDB Atlas 을 사용하여 클러스터 에
MONGODB-AWS
authentication mechanism
연결하는 경우 Amazon Web Services 이 필드 또는 연결 string 에 시크릿 액세스 키를 지정합니다. 또는 이 값을 환경 변수AWS_SECRET_ACCESS_KEY
로 제공할 수도 있습니다. IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.Amazon Web Services
--apiVersion <version number>
버전 5.0에 추가.
apiVersion 을 지정합니다. 현재로서는
"1"
가 유일하게 지원되는 값입니다.
--apiStrict
버전 5.0에 추가.
애플리케이션 이 Stable API 외부의 명령이나 동작을 사용하는 경우 서버 가 APIStrictError 로 응답하도록 지정합니다.
--apiStrict
를 지정하는 경우--apiVersion
도 지정해야 합니다.
--apiDeprecationErrors
버전 5.0에 추가.
애플리케이션 이 지정된 apiVersion에서 더 이상 사용되지 않는 명령이나 동작을 사용하는 경우 서버 가 APIDeprecationError 로 응답하도록 지정 합니다.
--apiDeprecationErrors
를 지정하는 경우--apiVersion
도 지정해야 합니다.
--awsIamSessionToken <aws session token>
MongoDB Atlas
MONGODB-AWS
authentication mechanism
Amazon Web Services 액세스 키 및 비밀 액세스 키 외에 및 세션 ID 토큰을 사용하여 클러스터에 연결하는 경우, 이 필드 또는 연결 에 Amazon Web Services 세션 토큰을 지정합니다. string. 또는 이 값을 환경 변수AWS_SESSION_TOKEN
로 제공할 수도 있습니다. Amazon Web Services IAM 자격 증명을 사용하여 MongoDB Atlas cluster 에 연결하기를 참조하세요.MONGODB-AWS
authentication mechanism
을 사용할 때만 유효합니다.
--help, -h
옵션 및
mongo
의 사용에 대한 정보를 반환합니다.
--version
mongo
릴리스 번호를 반환합니다.
--networkMessageCompressors <string>
버전 3.4에 새로 추가되었습니다.
이
mongo
shell 과 다음 간의 통신을 위해 네트워크 압축을 활성화합니다.지정할 수 있는 압축기는 다음과 같습니다.
중요
양쪽 당사자가 네트워크 압축을 활성화하면 메시지가 압축됩니다. 그렇지 않으면 양 당사자 간의 메시지는 압축되지 않습니다.
여러 압축기를 지정하는 경우 통신 개시자뿐만 아니라 압축기를 나열하는 순서도 중요합니다. 예를 들어,
mongosh
가 다음 네트워크 압축기zlib,snappy
를 지정하고mongod
는snappy,zlib
를 지정하는 경우mongosh
와mongod
사이의 메시지는zlib
를 사용합니다.양 당사자가 공통 압축기를 적어도 하나 이상 공유하지 않는 경우, 당사자 간의 메시지는 압축되지 않습니다. 예를 들어,
mongosh
가 네트워크 압축기zlib
를 지정하고mongod
가snappy
를 지정하는 경우mongosh
와mongod
사이의 메시지는 압축되지 않습니다.
--ipv6
IPv6 지원 활성화합니다.
mongo
는 기본값 IPv6 을(를) 비활성화합니다.MongoDB IPv6 을 통해 클러스터
--ipv6
에--host <mongod/mongos IPv6 address>
연결하려면 을 시작할 때 및 를mongo
shell 모두 지정해야 합니다.mongod
및mongos
는 기본값 IPv6 지원 을 비활성화합니다. 에--ipv6
연결할 때 을mongod/mongos
6 지정해도 에서 IPv 지원 이 활성화 되지mongod/mongos
않습니다.mongod/mongos
에서 IPv6 지원 을 활성화하는 방법에 대한 문서는net.ipv6
를 참조하세요.
<db name>
연결할 데이터베이스 의 이름을 지정합니다. 예를 예시 다음과 같습니다.
mongo admin 위의 명령은 을
mongo
shell MongoDB 로컬 머신에서 실행 배포서버 의 관리 데이터베이스 에 연결합니다. 확인 가능한 호스트 이름 또는 IP 주소 를 사용하여 원격 데이터베이스 인스턴스 를 지정할 수 있습니다./
문자를 사용하여 데이터베이스 이름과 호스트 이름을 구분합니다. 다음 예시를 참조하세요.mongo mongodb1.example.net/test mongo mongodb1/admin mongo 10.8.8.10/test 이 구문은 특정 데이터베이스 에 연결할 수 있는 유일한 방법입니다.
대체 호스트와 데이터베이스 를 지정하려면 이 구문을 사용해야 하며
--host
또는--port
는 사용할 수 없습니다.
--disableJavaScriptJIT
버전 4.0에서 변경됨: JavaScript 엔진의 JIT 컴파일러는 이제 기본값 비활성화되어 있습니다.
JavaScript 엔진의 JIT 컴파일러를 비활성화합니다.
--disableJavaScriptProtection
및 JavaScript javascriptWithScope (*Deprecated*) 유형의 JavaScript 필드를 의 함수에 자동으로 마셜링할 수 있습니다.
mongo
shell--disableJavaScriptProtection
플래그가 설정하다 되면 문서에 포함된 JavaScript 함수를 즉시 실행할 수 있습니다. 다음 예시 에서는 shell 내에서 이 동작을 보여 줍니다.> db.test.insertOne( { _id: 1, jsFunc: function(){ print( "hello" ) } } ) WriteResult({ "nInserted" : 1 }) > var doc = db.test.findOne( { _id: 1 } ) > doc { "_id" : 1, "jsFunc" : function (){ print ( "hello" ) } } > typeof doc.jsFunc function > doc.jsFunc() hello 기본값 동작(
mongo
이--disableJavaScriptProtection
플래그 없이 시작되는 경우)은 포함된 JavaScript 함수를 실행 불가능한 MongoDB shell 유형Code
로 변환하는 것입니다. 다음 예시 는 shell 내의 기본값 동작을 보여줍니다.> db.test.insertOne( { _id: 1, jsFunc: function(){ print("hello") } } ) WriteResult({ "nInserted" : 1 }) > var doc = db.test.findOne( { _id: 1 } ) > doc { "_id" : 1, "jsFunc" : { "code" : "function (){print(\"hello\")}" } } > typeof doc.jsFunc object > doc.jsFunc instanceof Code true > doc.jsFunc() uncaught exception: TypeError: doc.jsFunc is not a function : @(shell):1:1
<file.js>
실행 후 종료할 JavaScript 파일을 지정합니다. 일반적으로 이 옵션을 마지막 옵션으로 지정해야 합니다.
참고
옵션
실행할 JavaScript 파일을 지정 하고
mongo
--password
을 사용하여 비밀번호를 입력하라는 메시지를 표시하도록 허용하려면 다음과 같이--username
및--password
를 마지막 옵션으로 사용하여 파일 이름을 첫 번째 매개 변수로 전달합니다.mongo file.js --username username --password 파일 실행 이 완료된 후
--shell
돌아가려면 옵션을 사용합니다.shell
인증 옵션
--authenticationDatabase <dbname>
지정된
--username
이 생성된 인증 데이터베이스 를 지정합니다. 인증 데이터베이스를 참조하세요.--authenticationDatabase
에 값을 지정하지 않으면mongo
연결 string 에 지정된 데이터베이스 를 사용합니다.GSSAPI (Kerberos), PLAIN (LDAP SASL) 또는
MONGODB-AWS
authentication mechanisms
을 사용하는 경우--authenticationDatabase
을$external
로 설정해야 합니다.
--authenticationMechanism <name>
기본값: SCRAM-SHA-1
mongo
인스턴스 가mongod
또는mongos
에 인증하는 데 사용하는 인증 메커니즘 을 지정합니다.버전 4.4에서 변경됨: MongoDB 4.4을 사용하면
mongo
shell 이 MongoDB Atlas 클러스터 에 연결할 때 새로운MONGODB-AWS
인증 메커니즘 에 대한 지원 을 추가합니다.값설명RFC 5802 SHA-1 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.
RFC 7677 표준 SHA-256 해시 함수를 사용하는 솔티드 챌린지 응답 인증 메커니즘.
featureCompatibilityVersion이
4.0
으로 설정되어야 합니다.MongoDB TLS/SSL 인증서 인증.
MONGODB-AWS
MongoDB Atlas 클러스터 연결에 사용하기 위한 AWS IAM 자격 증명을 사용하는 외부 인증입니다. AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
GSSAPI(Kerberos)
Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.
PLAIN (LDAP SASL)
LDAP를 사용한 외부 인증.
PLAIN
을 사용해 데이터베이스 내 사용자를 인증할 수도 있습니다.PLAIN
은 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.
--gssapiHostName
GSSAPI/ Kerberos 를 사용하여 서비스의 호스트 이름을 지정합니다. 시스템의 호스트 이름이 DNS에서 확인된 호스트 이름과 일치하지 않는 경우 에만 필요합니다.
이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
--gssapiServiceName
GSSAPI/Kerberos 를 사용하여 서비스 이름을 지정합니다. 서비스가 기본 이름
mongodb
를 사용하지 않는 경우에만 필요합니다.이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
TLS 옵션
참고
mongo
은(는) TLS 1.1+를 사용할 수 있는 시스템에서 TLS 1.0 암호화에 대한 지원을 비활성화합니다.
--tls
버전 4.2에 추가되었습니다.
TLS/SSL 지원이 활성화된
mongod
또는mongos
에 대한 연결을 활성화합니다.--tlsCAFile
또는net.tls.CAFile
(또는 해당 별칭--sslCAFile
또는ssl.CAFile
)을 지정하지 않으면 TLS/SSL 지원 서버 에 연결할 때 시스템 전체 CA 인증서 저장 가 사용됩니다. 이전 버전의 MongoDB 에서는mongosh
이(가) 인증서의 유효성을 검사할 수 없다는 오류와 함께 종료되었습니다.--tlsCertificateSelector
또는--net.tls.certificateSelector
을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시--tlsCAFile
또는net.tls.CAFile
을(를) 지정해야 합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsCertificateKeyFile <filename>
버전 4.2에 추가되었습니다.
mongo
shell TLS/SSL 인증서와 키가 모두 포함된.pem
파일 을 지정합니다. 상대 경로 또는 절대 경로를 사용하여.pem
파일 의 이름을 지정 파일 .이 옵션은
--tls
옵션을 사용하여 클라이언트mongod
인증서 가mongos
필요한 또는 인스턴스 에 연결할 때 필요합니다. 즉,mongo
shell 은 이 인증서를 서버 에 제공합니다.mongod
/mongos
는 제시된 x.509 인증서가mongod/mongos
호스트 시스템 시간으로부터30
일 이내에 만료되는 경우 연결 시 경고를 기록합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsCertificateKeyFilePassword <value>
버전 4.2에 추가되었습니다.
인증서-키 파일 해독을 위한 비밀번호를 지정합니다(예:
--tlsCertificateKeyFile
).인증서 키 파일 이 암호화됨 경우에만
--tlsCertificateKeyFilePassword
옵션을 사용합니다. 모든 경우에mongo
는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.PEM 파일의 개인 키가 암호화되어 있고
--tlsCertificateKeyFilePassword
옵션을 지정하지 않은 경우mongo
에서 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsCAFile <filename>
버전 4.2에 추가되었습니다.
인증 기관의 루트 인증서 체인이 포함된
.pem
파일을 지정합니다. 이 파일은mongod
/mongos
인스턴스에서 제공한 인증서의 유효성을 검사하는 데 사용됩니다.상대 경로 또는 절대 경로를 사용해
.pem
파일의 이름을 지정합니다.--tlsCAFile
또는net.tls.CAFile
(또는 해당 별칭--sslCAFile
또는ssl.CAFile
)을 지정하지 않으면 TLS/SSL 지원 서버 에 연결할 때 시스템 전체 CA 인증서 저장 가 사용됩니다. 이전 버전의 MongoDB 에서는mongosh
이(가) 인증서의 유효성을 검사할 수 없다는 오류와 함께 종료되었습니다.--tlsCertificateSelector
또는--net.tls.certificateSelector
을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시--tlsCAFile
또는net.tls.CAFile
을(를) 지정해야 합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsCRLFile <filename>
버전 4.2에 추가: MongoDB 4.0 이하에서는
--sslCRLFile
를참조하세요.인증서 해지 목록이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를.pem
파일의 이름을 지정합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.참고
MongoDB는 버전 4.4부터 인증서 해지를 확인하기 위해 CRL 파일을 지정하거나 시스템 SSL 인증서 저장소를 사용하는 대신 온라인 인증서 상태 프로토콜(OCSP)을 사용하도록
enables
합니다.
--tlsAllowInvalidHostnames
버전 4.2에 추가되었습니다.
mongod
/mongos
인스턴스에서 제공하는 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 서버 인증서의 호스트 이름이 서버의 호스트와 일치하지 않더라도mongo
가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsAllowInvalidCertificates
버전 4.2에 추가되었습니다.
mongod
/mongos
인스턴스에서 제공하는 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서를 제공하는 서버에 대한 연결을 허용합니다.참고
--tlsAllowInvalidCertificates
또는net.tls.allowInvalidCertificates: true
를 지정하는 경우 잘못된 인증서로 TLS 연결을 설정할 수는 있지만 인증에는 충분하지 않습니다.경고
--sslAllowInvalidCertificates
옵션은 사용할 수 있는 경우에도 가급적 사용하지 않는 것이 좋습니다.--sslAllowInvalidCertificates
를 사용해야만 하는 경우, 침입이 불가능한 시스템에서만 옵션을 사용하세요.mongosh
(및 기타 MongoDB 도구)가--sslAllowInvalidCertificates
옵션으로 실행되는 경우,mongosh
(및 기타 MongoDB 도구)는 서버 인증서의 유효성 검사를 시도하지 않습니다. 이로 인해 만료된mongod
및mongos
인증서는 물론 유효한mongod
또는mongos
인스턴스로 가장하는 외부 프로세스에 대한 취약성이 발생합니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사 만 비활성화해야 하는 경우--sslAllowInvalidHostnames
를 참조하세요.ssl.allowInvalidCertificates
설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 로그합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--tlsFIPSMode
버전 4.2에 추가되었습니다.
mongo
가 TLS/SSL 라이브러리의 FIPS 모드를 사용하도록 지시합니다.--tlsFIPSMode
옵션을 사용하려면 시스템에 FIPS를 준수하는 라이브러리가 있어야 합니다.참고
FIPS와 호환되는 TLS/SSL은 MongoDB Enterprise에서만 사용할 수 있습니다. 자세한 내용은 FIPS용 MongoDB 구성을 참조하세요.
--tlsCertificateSelector <parameter>=<value>
버전 4.2에 추가됨: Windows 및 macOS에서
--tlsCertificateKeyFile
의대안으로 사용할 수 있습니다.--tlsCertificateKeyFile
및--tlsCertificateSelector
옵션은 상호 배타적입니다. 둘 중 하나만 지정해야 합니다.운영 체제의 인증서 저장소에서 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.
--tlsCertificateSelector
는<property>=<value>
형식의 인수를 받으며, 여기서 속성은 다음 중 하나일 수 있습니다.속성값 유형설명subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열
16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.
thumbprint
을(를)fingerprint
(이)라고 부르기도 합니다.시스템 SSL 인증서 저장소를 사용할 때 온라인 인증서 상태 프로토콜(OCSP)을 사용해 인증서의 해지 상태를 확인할 수 있습니다.
mongod
/mongos
는 제시된 x.509 인증서가mongod/mongos
호스트 시스템 시간으로부터30
일 이내에 만료되는 경우 연결 시 경고를 기록합니다.
--tlsDisabledProtocols <string>
버전 4.2에 추가되었습니다.
지정된 TLS 프로토콜을 비활성화합니다. 이 옵션은 다음 프로토콜을 인식합니다:
TLS1_0
,TLS1_1
,TLS1_2
및 버전 4.0.4 부터 ( 3.6.9 및 3.4.24),TLS1_3
.macOS에서는
TLS1_1
은 비활성화하고TLS1_0
와TLS1_2
가 모두 활성화된 상태를 유지할 수 없습니다. 예를 들어,TLS1_0,TLS1_1
처럼 다른 2개의 프로토콜 중 하나 이상을 비활성화해야 합니다.여러 프로토콜을 나열하려면 쉼표로 구분된 프로토콜 목록으로 지정합니다( 예시:
TLS1_0,TLS1_1
).지정된 비활성화 프로토콜은 기본으로 설정된 비활성화 프로토콜을 덮어씁니다.
버전 4.0부터 TLS 1.1 이상을 시스템에서 사용할 수 있는 경우 MongoDB는 TLS 1.0의 사용을 비활성화합니다. 비활성화된 TLS 1.0을 사용하려면
none
을--tlsDisabledProtocols
로 지정합니다.
SSL 옵션(사용 중단됨)
중요
버전 4.2 부터 SSL 옵션은 더 이상 사용되지 않습니다. 대신 TLS에 해당하는 것을 사용하세요. SSL 프로토콜 은 더 이상 사용되지 않으며 MongoDB 는 TLS 1.0 이상을 지원합니다.
참고
mongo
은(는) TLS 1.1+를 사용할 수 있는 시스템에서 TLS 1.0 암호화에 대한 지원을 비활성화합니다.
--ssl
버전 4.2 이후 사용 중단됨: 대신
--tls
을(를) 사용하세요.TLS/SSL 지원이 활성화된
mongod
또는mongos
에 대한 연결을 활성화합니다.--tlsCAFile
또는net.tls.CAFile
(또는 해당 별칭--sslCAFile
또는ssl.CAFile
)을 지정하지 않으면 TLS/SSL 지원 서버 에 연결할 때 시스템 전체 CA 인증서 저장 가 사용됩니다. 이전 버전의 MongoDB 에서는mongosh
이(가) 인증서의 유효성을 검사할 수 없다는 오류와 함께 종료되었습니다.--tlsCertificateSelector
또는--net.tls.certificateSelector
을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시--tlsCAFile
또는net.tls.CAFile
을(를) 지정해야 합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslPEMKeyFile <filename>
버전 4.2 이후 사용 중단됨: 대신
--tlsCertificateKeyFile
을(를) 사용하세요.TLS/SSL 인증서와 키가 모두 포함되어 있는
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해.pem
파일의 이름을 지정합니다.이 옵션은
--ssl
옵션을 사용하여mongod
mongos
ssl.CAFile
없이 이 활성화된 또는 에 연결할 때ssl.allowConnectionsWithoutCertificates
필요합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslPEMKeyPassword <value>
버전 4.2 이후 사용 중단됨: 대신
--tlsCertificateKeyFilePassword
을(를) 사용하세요.인증서 키 파일 의 암호를 해독하기 위한 비밀번호를 지정합니다(예:
--sslPEMKeyFile
). 인증서 키 파일 이 암호화됨 경우에만--sslPEMKeyPassword
옵션을 사용합니다. 모든 경우에mongo
는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.PEM 파일의 개인 키가 암호화되어 있고
--sslPEMKeyPassword
옵션을 지정하지 않은 경우mongo
에서 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslCAFile <filename>
버전 4.2 이후 사용 중단됨: 대신
--tlsCAFile
을(를) 사용하세요.인증 기관의 루트 인증서 체인이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여.pem
파일의 이름을 지정합니다.--tlsCAFile
또는net.tls.CAFile
(또는 해당 별칭--sslCAFile
또는ssl.CAFile
)을 지정하지 않으면 TLS/SSL 지원 서버 에 연결할 때 시스템 전체 CA 인증서 저장 가 사용됩니다. 이전 버전의 MongoDB 에서는mongosh
이(가) 인증서의 유효성을 검사할 수 없다는 오류와 함께 종료되었습니다.--tlsCertificateSelector
또는--net.tls.certificateSelector
을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시--tlsCAFile
또는net.tls.CAFile
을(를) 지정해야 합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslCertificateSelector <parameter>=<value>
버전 4.2 이후 사용 중단됨: 대신
--tlsCertificateSelector
을(를) 사용하세요.버전 4.0에 추가되었습니다:
--tlsCertificateKeyFile
2}의 대안으로 Windows 및 macOS에서 사용할 수 있습니다.--tlsCertificateKeyFile
및--sslCertificateSelector
옵션은 상호 배타적입니다. 둘 중 하나만 지정해야 합니다.운영 체제의 인증서 저장소에서 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.
--sslCertificateSelector
는<property>=<value>
형식의 인수를 받으며, 여기서 속성은 다음 중 하나일 수 있습니다.속성값 유형설명subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열
16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.
thumbprint
을(를)fingerprint
(이)라고 부르기도 합니다.시스템 SSL 인증서 저장소를 사용할 때 온라인 인증서 상태 프로토콜(OCSP)을 사용해 인증서의 해지 상태를 확인할 수 있습니다.
--sslCRLFile <filename>
버전 4.2 이후 사용 중단됨: 대신
--tlsCRLFile
을(를) 사용하세요.인증서 해지 목록이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를.pem
파일의 이름을 지정합니다.참고
MongoDB는 버전 4.4부터 인증서 해지를 확인하기 위해 CRL 파일을 지정하거나 시스템 SSL 인증서 저장소를 사용하는 대신 온라인 인증서 상태 프로토콜(OCSP)을 사용하도록
enables
합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslFIPSMode
버전 4.2 이후 사용 중단됨: 대신
--tlsFIPSMode
을(를) 사용하세요.mongo
가 TLS/SSL 라이브러리의 FIPS 모드를 사용하도록 지시합니다.--sslFIPSMode
옵션을 사용하려면 시스템에 FIPS를 준수하는 라이브러리가 있어야 합니다.참고
FIPS와 호환되는 TLS/SSL은 MongoDB Enterprise에서만 사용할 수 있습니다. 자세한 내용은 FIPS용 MongoDB 구성을 참조하세요.
--sslAllowInvalidCertificates
버전 4.2 이후 사용 중단됨: 대신
--tlsAllowInvalidCertificates
을(를) 사용하세요.서버 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서를 사용하여 연결할 수 있도록 허용합니다.
참고
--tlsAllowInvalidCertificates
또는net.tls.allowInvalidCertificates: true
를 지정하는 경우 잘못된 인증서로 TLS 연결을 설정할 수는 있지만 인증에는 충분하지 않습니다.경고
--sslAllowInvalidCertificates
옵션은 사용할 수 있는 경우에도 가급적 사용하지 않는 것이 좋습니다.--sslAllowInvalidCertificates
를 사용해야만 하는 경우, 침입이 불가능한 시스템에서만 옵션을 사용하세요.mongosh
(및 기타 MongoDB 도구)가--sslAllowInvalidCertificates
옵션으로 실행되는 경우,mongosh
(및 기타 MongoDB 도구)는 서버 인증서의 유효성 검사를 시도하지 않습니다. 이로 인해 만료된mongod
및mongos
인증서는 물론 유효한mongod
또는mongos
인스턴스로 가장하는 외부 프로세스에 대한 취약성이 발생합니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사 만 비활성화해야 하는 경우--sslAllowInvalidHostnames
를 참조하세요.ssl.allowInvalidCertificates
설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 로그합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidHostnames
버전 4.2 이후 사용 중단됨: 대신
--tlsAllowInvalidHostnames
을(를) 사용하세요.TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도
mongo
가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한
mongod
및mongos
구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslDisabledProtocols <string>
버전 4.2 이후 사용 중단됨: 대신
--tlsDisabledProtocols
을(를) 사용하세요.지정된 TLS 프로토콜을 비활성화합니다. 이 옵션은 다음 프로토콜을 인식합니다:
TLS1_0
,TLS1_1
,TLS1_2
및 버전 4.0.4 부터 (및 3.6.9),TLS1_3
.macOS에서는
TLS1_1
은 비활성화하고TLS1_0
와TLS1_2
가 모두 활성화된 상태를 유지할 수 없습니다. 예를 들어,TLS1_0,TLS1_1
처럼 다른 2개의 프로토콜 중 하나 이상을 비활성화해야 합니다.여러 프로토콜을 나열하려면 쉼표로 구분된 프로토콜 목록으로 지정합니다( 예시:
TLS1_0,TLS1_1
).지정된 비활성화 프로토콜은 기본으로 설정된 비활성화 프로토콜을 덮어씁니다.
버전 4.0부터 TLS 1.1 이상을 시스템에서 사용할 수 있는 경우 MongoDB는 TLS 1.0의 사용을 비활성화합니다. 비활성화된 TLS 1.0을 사용하려면
none
을--sslDisabledProtocols
로 지정합니다.버전 3.6.5에 추가 되었습니다.
세션
--retryWrites
버전 3.6에 새로 추가되었습니다.
재시도 가능 쓰기를
mongo
shell 의 세션에 대한 기본값 으로 활성화합니다.세션에 대한 자세한 내용은 클라이언트 세션 및 인과관계 일관성 보장을 참조하세요.
클라이언트 측 필드 레벨 암호화 옵션
--awsAccessKeyId <string>
Amazon Web Services 액세스
List
Read
키 Amazon Web Services KMS (KMS)에 대한 및 권한을 가진 IAM 사용자와 연결됩니다.mongo
shell 은 지정된--awsAccessKeyId
를 사용하여 KMS 에 액세스 합니다.{ 9} 세션에 대해 클라이언트 측 필드
--awsAccessKeyId
레벨 암호화 를 활성화하려면 이(가)mongo
shell 필요합니다.--awsAccessKeyId
에는 다음 명령줄 옵션이 모두 필요합니다.--awsAccessKeyId
이 생략된 경우 세션 내에서Mongo()
shell 생성자를 사용하여 클라이언트 사이드 필드 수준 암호화 를 활성화 합니다.액세스 키가 로그에 유출될 위험을 줄이려면 환경 변수를
--awsAccessKeyId
.로 지정하는 것이 좋습니다.
--awsSecretAccessKey <string>
Amazon Web Services 비밀 키 지정된 에
--awsAccessKeyId
연결됩니다.{ 9} 세션에 대해 클라이언트 측 필드
--awsSecretAccessKey
레벨 암호화 를 활성화하려면 이(가)mongo
shell 필요합니다.--awsSecretAccessKey
에는 다음 명령줄 옵션이 모두 필요합니다.--awsSecretAccessKey
및Mongo()
지원 옵션이 생략된 shell 경우 세션 내에서 를 사용하여 클라이언트 사이드 필드 수준 암호화 를 활성화 합니다.액세스 키가 로그에 유출될 위험을 줄이려면 환경 변수를
--awsSecretAccessKey
.로 지정하는 것이 좋습니다.
--awsSessionToken <string>
Amazon Web Services 세션 토큰
--awsAccessKeyId
지정된 에 연결됩니다.{ 9} 세션에 대해 클라이언트 측 필드
--awsSessionToken
레벨 암호화 를 활성화하려면 이(가)mongo
shell 필요합니다.--awsSessionToken
에는 다음 명령줄 옵션이 모두 필요합니다.--awsSessionToken
및Mongo()
지원 옵션이 생략된 shell 경우 세션 내에서 를 사용하여 클라이언트 사이드 필드 수준 암호화 를 활성화 합니다.액세스 키가 로그에 유출될 위험을 줄이려면 환경 변수를
--awsSessionToken
.로 지정하는 것이 좋습니다.
--keyVaultNamespace <string>
클라이언트 측 필드 레벨 암호화 를 위한 키 모음으로 사용되는 컬렉션 의 전체 네임스페이스 (
<database>.<collection>
)입니다. 클라이언트 사이드 필드 수준 암호화 를 활성화하려면--keyVaultNamespace
이(가) 필요합니다.mongo
shell 세션의 경우. 지정된 네임스페이스 가 존재하지 않는 경우mongo
가 이를 생성합니다.--keyVaultNamespace
에는 다음 명령줄 옵션이 모두 필요합니다.--keyVaultNamespace
및 지원 옵션이Mongo()
생략된 shell 경우 세션 내에서 생성자를 사용하여 클라이언트 사이드 필드 수준 암호화 를 활성화 합니다.
SCons를 훈련
~/.dbshell
mongo
는.dbshell
파일 에 명령 기록을 유지합니다.참고
mongo
는authenticate
및db.createUser()
를 포함하여 기록 파일 에 인증 과 관련된 상호 작용을 기록 하지 않습니다.
~/.mongorc.js
mongo
는mongo
를 호출하는 사용자의 홈 디렉토리 에서.mongorc.js
파일 을 읽습니다. 파일 에서 사용자는 변수를 정의하거나,mongo
shell 프롬프트를 사용자 지정하거나, shell 을 실행할 때마다 업데이트 하려는 정보를 업데이트할 수 있습니다. shell 을 JavaScript 사용하여 명령줄 에서 를 사용하거나 에 .js 파일 mongomongo --eval
을 지정하여 파일 또는 표현식mongo
을 평가하는 경우,.mongorc.js
는 JavaScript 처리 가 완료된 후 파일 을 읽습니다..mongorc.js
읽기를 비활성화하려면--norc
옵션을 지정합니다.
/etc/mongorc.js
mongo
shell 이 시작 시 평가하는 글로벌mongorc.js
파일 입니다. 사용자의HOME
디렉토리 에.mongorc.js
파일 이 있는 경우mongo
shell 은 사용자의.mongorc.js
파일 을 평가 하기 전에 글로벌/etc/mongorc.js
파일 을 평가합니다./etc/mongorc.js
shell 을 실행 하는 사용자에 대한 읽기 권한이 있어야 합니다. 에 대한--norc
mongo
.mongorc.js
옵션은 사용자의 파일 만 억제합니다.Windows 에서는 글로벌
mongorc.js </etc/mongorc.js>
이(가)%ProgramData%\MongoDB
디렉토리 에 있습니다./tmp/mongo_edit{<time_t>}.js
- 파일 을 편집할 때
mongo
에 의해 생성됩니다. 파일 이 있는 경우mongo
은(는) 시간 값에1
~10
의 정수를 추가하여 고유한 파일 을 생성하려고 시도합니다. %TEMP%mongo_edit{<time_t>}.js
- 파일 을 편집할 때 Windows 에서
mongo.exe
에 의해 생성됩니다. 파일 이 있는 경우mongo
은(는) 시간 값에1
~10
의 정수를 추가하여 고유한 파일 을 생성하려고 시도합니다.
환경
EDITOR
edit
shell 명령과 함께 사용할 편집기의 경로를 지정합니다. JavaScript 변수EDITOR
이(가)EDITOR
값을 재정의합니다.
HOME
mongo
가.mongorc.js
파일 을 읽고.dbshell
파일 을 쓰기 (write) 홈 디렉토리 의 경로를 지정합니다.
HOMEDRIVE
Windows 시스템에서
HOMEDRIVE
는mongo
가.mongorc.js
파일 을 읽고.dbshell
파일 을 쓰기 (write) 디렉토리 경로를 지정합니다.
HOMEPATH
mongo
가.mongorc.js
파일을 읽고.dbshell
파일을 쓸 홈 디렉토리의 Windows 경로를 지정합니다.
키보드 단축키
mongo
shell 은 다음 키보드 단축키를 지원합니다: [1]
키 바인딩 | 기능 |
---|---|
위쪽 화살표 | 기록에서 이전 명령 조회 |
아래쪽 화살표 | 기록에서 다음 명령 조회 |
홈 | 줄의 시작 부분으로 고 (Go) |
End | 줄의 끝으로 Go |
Tab | 자동 완성 메서드/명령 |
왼쪽 화살표 | 한 문자 뒤로 고 (Go) |
오른쪽 화살표 | 한 문자 앞으로 고 (Go) |
Ctrl- 왼쪽 화살표 | 한 단어 뒤로 고 (Go) |
Ctrl-우측 화살표 | 한 단어 앞으로 고 (Go) |
메타 왼쪽 화살표 | 한 단어 뒤로 고 (Go) |
메타 오른쪽 화살표 | 한 단어 앞으로 고 (Go) |
Ctrl-A | 줄의 시작 부분으로 고 (Go) |
Ctrl-B | 한 문자 뒤로 고 (Go) |
Ctrl-C | 셸 |
Ctrl-D | 문자 삭제 (또는 셸 |
Ctrl-E | 줄 끝으로 고 (Go) |
Ctrl-F | 한 문자 앞으로 고 (Go) |
Ctrl-G | 중단 |
Ctrl-J | 라인 수락/평가 |
Ctrl-K | 줄 죽이기/지우기 |
Ctrl-L 또는 다음을 입력합니다. | 화면 지우기 |
Ctrl-M | 라인 수락/평가 |
Ctrl-N | 기록에서 다음 명령 조회 |
Ctrl-P | 기록에서 이전 명령 조회 |
Ctrl-R | 역방향 검색 명령 기록 |
Ctrl-S | 정방향 검색 명령 기록 |
Ctrl-T | 문자 바꾸기 |
Ctrl-U | Unix 라인 삭제 수행 |
Ctrl-W | Unix 단어 정리 수행 |
Ctrl-Y | 양크 |
Ctrl-Z | 일시 중단(Linux에서 작업 제어 작동) |
Ctrl-H | 문자 역방향 삭제 |
Ctrl-I | 완료(탭과 동일) |
Meta-B | 한 단어 뒤로 고 (Go) |
메타-C | 단어 대문자 사용 |
메타-D | 킬 워드 |
Meta-F | 한 단어 앞으로 고 (Go) |
Meta-L | 단어를 소문자로 변경 |
Meta-U | 단어를 대문자로 변경 |
메타-Y | 양키팝 |
Meta-Backspace | 단어 역방향 삭제 |
Meta-< | 명령 기록에서 첫 번째 명령 조회 |
Meta-> | 명령 기록에서 마지막 명령 조회 |
[1] | MongoDB는 다중 키 바인딩을 지원합니다. 2.0 이후 mongo 에는 기본 emacs 키 바인딩에 대한 지원이 포함됩니다. |
다음을 사용하세요.
일반적으로 사용자는 shell 시스템 mongo
프롬프트에서 명령을 사용하여 을 호출합니다. 다른 시나리오에 대해서는 다음 예시를 고려하세요.
액세스 mongod
제어를 사용하여 인스턴스에 연결
인증 및 비표준 포트를 사용하여 원격 호스팅하다 의 데이터베이스 에 연결하려면 다음 형식을 사용합니다.
mongo --username <user> --password --host <host> --port 28015
또는 다음과 같은 짧은 형식을 고려하세요.
mongo -u <user> -p --host <host> --port 28015
<user>
및 <host>
를 상황에 적합한 값으로 바꾸고 필요에 따라 --port
를 대체하거나 생략합니다.
--password
또는 -p
명령줄 옵션에 비밀번호를 지정하지 않으면 mongo
shell 에서 비밀번호를 입력하라는 메시지를 표시합니다.
DNS 시드 목록 연결 형식을 사용하여 복제본 세트에 연결
버전 3.6에 새로 추가되었습니다.
SRV 연결 형식 --host
을 사용하여 string 설명된 mongo
shell 복제본 세트 에 연결하려면 옵션을 사용하여 에 대한 연결 을 지정합니다. 다음 예시 에서 DNS 구성은 다음과 유사합니다.
Record TTL Class Priority Weight Port Target _mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27317 mongodb1.example.com. _mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27017 mongodb2.example.com.
DNS 항목의 TXT 기록 에는 replicaSet
및 authSource
옵션이 포함되어 있습니다.
Record TTL Class Text server.example.com. 86400 IN TXT "replicaSet=rs0&authSource=admin"
그런 다음 다음 명령은 mongo
shell 을 복제본 세트 에 연결합니다.
mongo --host "mongodb+srv://server.example.com/?username=allison"
mongo
shell 은 username
옵션에 지정된 사용자의 비밀번호를 입력하라는 메시지를 자동으로 표시합니다.
AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기
버전 4.4에 추가되었습니다.
Amazon Web Services IAM 자격 증명 을 통해 인증 을 지원 하도록 MongoDB Atlas 구성된 클러스터 에 연결하려면 string 에 mongo
shell 다음과 유사한 연결 을 제공합니다.
mongo 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS'
Atlas Amazon Web Services 이러한 방식으로 IAM 자격 증명 을 사용하여 MONGODB-AWS
authentication mechanism
에 $external
authSource
연결하면 이 예시 와 같이 및 가 사용됩니다.
Amazon Web Services 세션 토큰 을 사용하는 경우 AWS_SESSION_TOKEN
다음과 authMechanismProperties
같이 string 연결 의 값과 함께 제공합니다.
mongo 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>'
참고
또는 다음과 같이 --awsIamSessionToken
, --password
및 --username
옵션을 사용하여 연결 외부에서 Amazon Web Services 액세스 키 ID, 비밀 액세스 키 및 선택적으로 세션 토큰을 각각 제공할 수 있습니다.string
mongo 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsIamSessionToken <aws session token>
명령줄 매개변수로 제공되는 경우 이러한 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
Amazon Web Services 표준 IAM 환경 변수 를 사용하여 플랫폼에서 이러한 자격 증명 을 설정하다 수도 있습니다. . mongo
shell 은 MONGODB-AWS
authentication mechanism
를 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
설정된 경우 이러한 자격 증명을 연결 string 에 지정하거나 mongo
shell 에 대한 명시적 옵션을 통해 지정할 필요가 없습니다(예: --username
및 --password
).
다음 예시에서는 bash
셸에서 이러한 환경 변수를 설정합니다.
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
다른 셸에서 환경 변수를 설정하는 구문은 다를 수 있습니다. 자세한 내용은 사용 중인 플랫폼의 설명서를 참조하세요.
다음 명령어로 이러한 환경 변수가 설정되었는지 확인할 수 있습니다.
env | grep AWS
설정이 완료되면 다음 예시에서는 이러한 환경 변수를 사용하여 MongoDB Atlas 클러스터에 연결합니다.
mongo 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS'
셸 에 대해 JavaScript mongo
shellJavaScript 실행
세션을 시작하기 전에 파일을 평가하지 않고 파일을 실행하려면 JavaScript ~/.mongorc.js
shell 다음 형식을 사용합니다.
mongo --shell --norc alternate-environment.js
명령줄에 제공되는 대신 비밀번호를 묻는 인증 을 사용하여 JavaScript 파일 을 실행하려면 다음 형식을 사용합니다.
mongo script-file.js -u <user> -p
--eval
을 사용하여 JavaScript 코드 실행
--eval
옵션을 사용하여 명령줄 에서 직접 JavaScript 를 실행할 수 있습니다.
예를 예시, 다음 작업은 컬렉션 을 JavaScript string 쿼리하고 결과를 으로 출력하는 을 JSON 평가합니다.
Linux 및 macOS에서는 작은따옴표를 사용해야 합니다(예: '
)로 지정하여 다음 형식을 사용하여 JavaScript를 묶습니다.
mongo --eval 'db.collection.find().forEach(printjson)'
Windows 에서는 double 따옴표를 사용해야 합니다(예: "
) 다음 형식을 사용하여 JavaScript 를 묶습니다.
mongo --eval "db.collection.find().forEach(printjson)"