mongorestore
이 문서는 mongorestore
의 100.10.0
버전에 대한 설명입니다.
Synopsis
mongorestore
프로그램은 mongodump
에 의해 생성된 바이너리 데이터베이스 덤프 또는 표준 입력에서 mongod
또는 mongos
인스턴스로 데이터를 로드합니다.
mongodump
에서 생성된 BSON 파일을 소스 배포서버와 동일한 주 버전 또는 기능 호환성 버전을 실행하는 MongoDB 배포서버로 복원할 수 있습니다.
mongo
shell이 아닌 시스템 명령줄에서 mongorestore
을 실행하세요.
MongoDB는 동일한 컬렉션에 대해 여러 mongorestore
프로그램을 동시에 실행하는 것을 지원하지 않습니다.
중요
Queryable Encryption 을 사용하는 컬렉션 에는 mongorestore
를 사용할 수 없습니다.
MongoDB Database Tools를 사용하여 자체 호스팅 배포서버에서 MongoDB Atlas로 마이그레이션할 수 있습니다. MongoDB Atlas는 클라우드에서의 MongoDB 배포서버를 위한 완전 관리형 서비스입니다. 자세한 내용은 mongorestore로 시드 구성을 참조하세요.
MongoDB Atlas로 마이그레이션할 수 있는 모든 방법을 알아보려면 데이터 마이그레이션 또는 가져오기를 참조하세요.
구문
mongorestore
구문:
mongorestore <options> <connection-string> <directory or file to restore>
예를 들어 dump
디렉토리에서 포트 27017
에서 실행 중인 로컬 mongod
인스턴스로 복원하려면 다음을 수행합니다.
mongorestore dump/
mongorestore
dump/
디렉터리에서 복원할 때 필요에 따라 데이터베이스와 컬렉션을 만들고 진행 상황을 기록합니다.
2019-07-08T14:37:38.942-0400 preparing collections to restore from 2019-07-08T14:37:38.944-0400 reading metadata for test.bakesales from dump/test/bakesales.metadata.json 2019-07-08T14:37:38.944-0400 reading metadata for test.salaries from dump/test/salaries.metadata.json 2019-07-08T14:37:38.976-0400 restoring test.salaries from dump/test/salaries.bson 2019-07-08T14:37:38.985-0400 no indexes to restore 2019-07-08T14:37:38.985-0400 finished restoring test.salaries (10 documents, 0 failures) 2019-07-08T14:37:39.009-0400 restoring test.bakesales from dump/test/bakesales.bson 2019-07-08T14:37:39.011-0400 restoring indexes for collection test.bakesales from metadata 2019-07-08T14:37:39.118-0400 finished restoring test.bakesales (21 documents, 0 failures) 2019-07-08T14:37:39.118-0400 restoring users from dump/admin/system.users.bson 2019-07-08T14:37:39.163-0400 restoring roles from dump/admin/system.roles.bson 2019-07-08T14:37:39.249-0400 31 document(s) restored successfully. 0 document(s) failed to restore.
dump/
디렉토리에서 특정 컬렉션 하나 또는 여러 개를 복원할 수도 있습니다. 예를 들어, 다음 작업은 dump/
디렉토리의 해당 데이터 파일에서 컬렉션을 복원합니다.
mongorestore --nsInclude=test.purchaseorders dump/
dump/
디렉토리에 지정된 네임스페이스에 해당하는 데이터 파일이 없는 경우 데이터가 복원되지 않습니다. 예를 들어 다음 내용은 dump/
디렉토리에 해당 데이터가 없는 컬렉션 네임스페이스를 지정합니다.
mongorestore --nsInclude=foo.bar dump/
mongorestore
는 다음 메시지를 출력합니다:
2019-07-08T14:38:15.142-0400 preparing collections to restore from 2019-07-08T14:38:15.142-0400 0 document(s) restored successfully. 0 document(s) failed to restore.
더 많은 예시는 mongorestore 예시를 참조하세요.
옵션
--quiet
출력량을 제한하려고 시도하는 자동 모드에서
mongorestore
를 실행합니다.이 옵션은 다음과 같은 활동을 억제합니다.
데이터베이스 명령에서 출력
복제 활동
연결 수락 이벤트
연결 종료 이벤트
--config=<filename>
버전 100.3.0의 새로운 기능.
다음 옵션에 대한 중요한 값을 포함하는 YAML 구성 파일의 전체 경로를
mongorestore
에 지정합니다.비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에
mongorestore
에 비밀번호를 지정하는 권장 방법입니다.구성 파일은 다음과 같은 형식을 취합니다:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password:
필드에 암호를 지정하고uri:
필드에 충돌하는 암호가 포함된 연결 문자열을 제공하면 오류가 발생합니다.적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.
참고
--config
로 구성 파일을 지정하고--password
,--uri
또는--sslPEMKeyPassword
옵션을mongorestore
에 사용하는 경우 각 명령줄 옵션은 구성 파일의 해당 옵션을 재정의합니다.
--uri=<connectionString>
따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" mongorestore
의100.0
버전부터는--uri
옵션을 사용하지 않고 대신 위치 매개변수로 연결 문자열을 제공할 수도 있습니다.mongorestore mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 연결 문자열은
mongodb://
또는mongodb+srv://
중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예시:mongorestore --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 연결 문자열은 하나만 제공할 수 있습니다.
--uri
옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.
참고
connection string
의 일부 구성요소는--username
및--password
와 같은 자체 명시적 명령줄 옵션을 사용하여 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.참고
mongorestore
Ubuntu 18.04를 사용하는 경우--uri
옵션과 함께 SRV 연결 문자열(mongodb+srv://
형식)을 사용하면cannot unmarshal DNS
오류 메시지가 나타날 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.비SRV 연결 문자열이 있는
--uri
옵션(mongodb://
형식)--host
옵션을 사용하여 직접 연결할 호스트를 지정하세요.
--host=<hostname><:port>, -h=<hostname><:port>
기본값: localhost:27017
MongoDB deployment의 확인 가능한 호스트 이름을 지정합니다. 기본적으로
mongorestore
는 포트 번호27017
의 로컬 호스트에서 실행되는 MongoDB 인스턴스에 연결을 시도합니다.복제본 세트에 연결하려면 다음과 같이
replSetName
과 세트 멤버의 시드 목록을 지정합니다.--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> 복제본 설정 목록 형식을 지정할 때
mongorestore
는 항상 프라이머리에 연결합니다.또한 해당 멤버의 호스트와 포트만 지정하여 복제본 세트의 단일 멤버에 연결할 수 있습니다.
--host=<hostname1><:port> IPv6을 사용하고
<address>:<port>
형식을 사용하는 경우 주소 및 포트 조합의 일부를 대괄호로 묶어야 합니다 (예:[<address>]
).또는
URI connection string
에 호스트 이름을 직접 지정할 수도 있습니다.--host
를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--port=<port>
기본값: 27017
MongoDB 인스턴스가 클라이언트 연결 수신을 대기하는 TCP 포트를 지정합니다.
또는
URI connection string
에 포트를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--port
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--ssl
TLS/SSL 지원이 활성화된
mongod
또는mongos
에 연결할 수 있습니다.또는
URI connection string
에서 직접 TLS/SSL 지원을 구성할 수도 있습니다. 연결 문자열을 제공하면서--ssl
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslCAFile=<filename>
인증 기관의 루트 인증서 체인이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여.pem
파일의 이름을 지정합니다.또는
URI connection string
에 직접.pem
파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslCAFile
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslPEMKeyFile=<filename>
TLS/SSL 인증서와 키가 모두 포함되어 있는
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해.pem
파일의 이름을 지정합니다.이 옵션은 옵션을 사용하여
allowConnectionsWithoutCertificates
없이--ssl
{ 가mongos
활성화된mongod
CAFile
또는 에 연결할 때 필요합니다또는
URI connection string
에 직접.pem
파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslPEMKeyFile
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslPEMKeyPassword=<value>
인증서-키 파일 해독을 위한 비밀번호를 지정합니다(예:
--sslPEMKeyFile
). 인증서 키 파일이 암호화된 경우에만--sslPEMKeyPassword
옵션을 사용합니다. 모든 경우에mongorestore
는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.PEM 파일의 개인 키가 암호화되어 있고
--sslPEMKeyPassword
옵션을 지정하지 않은 경우mongorestore
에 패스프레이즈(passphrase)를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 패스프레이즈를 참조하세요.또는
URI connection string
에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslPEMKeyPassword
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
경고
일부 시스템에서는
--sslPEMKeyPassword
옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps
와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신--config
옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정하는 것이 좋습니다.
--sslCRLFile=<filename>
인증서 해지 목록이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를.pem
파일의 이름을 지정합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidCertificates
서버 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서의 사용을 허용합니다.
allowInvalidCertificates
설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.경고
또는
URI connection string
에서 인증서 유효성 검사를 비활성화할 수도 있습니다. 연결 문자열을 제공하면서--sslAllowInvalidCertificates
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidHostnames
TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도
mongorestore
가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.또는
URI connection string
에서 호스트 이름 유효성 검사를 비활성화할 수도 있습니다.--sslAllowInvalidHostnames
를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--username=<username>, -u=<username>
인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 사용자 이름을 지정합니다.
--password
및--authenticationDatabase
옵션과 함께 사용합니다.또는
URI connection string
에 직접 사용자 이름을 지정할 수도 있습니다. 연결 문자열을 제공하면서--username
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.MONGODB-AWS
authentication mechanism
을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에 AWS 액세스 키 ID를 지정할 수 있습니다.이 필드,
AWS_ACCESS_KEY_ID
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
--password=<password>, -p=<password>
인증을 사용하는 MongoDB database에 인증하는 데 사용할 비밀번호를 지정합니다.
--username
및--authenticationDatabase
옵션과 함께 사용합니다.사용자에게 비밀번호를 묻는 메시지를 표시하려면
--password
없이--username
옵션을 전달하거나--password=""
에서와 같이 빈 문자열을--password
값으로 지정합니다.또는
URI connection string
에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--password
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.MONGODB-AWS
authentication mechanism
을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.이 필드,
AWS_SECRET_ACCESS_KEY
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
경고
일부 시스템에서는
--password
옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps
와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려합니다.--password
옵션을 생략하여 대화형 암호 프롬프트를 받거나, 또는--config
옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.
--awsSessionToken=<AWS Session Token>
MONGODB-AWS
authentication mechanism
를 사용하여 MongoDB Atlas 클러스터에 연결하고 AWS 액세스 키 ID 및 시크릿 액세스 키 외에 세션 토큰을 사용하는 경우, 다음에서 AWS 세션 토큰을 지정할 수 있습니다.이 필드,
connection string
에 대한AWS_SESSION_TOKEN
authMechanismProperties
매개 변수, 또는AWS_SESSION_TOKEN
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
MONGODB-AWS
authentication mechanism
을 사용할 때만 유효합니다.
--authenticationDatabase=<dbname>
지정한
--username
이 생성된 인증 데이터베이스를 지정합니다. 인증 데이터베이스를 참조하세요.GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는
MONGODB-AWS
authentication mechanisms
를 사용하는 경우--authenticationDatabase
를$external
로 설정해야 합니다.또는
URI connection string
에서 직접 인증 데이터베이스를 지정할 수도 있습니다. 연결 문자열을 제공하면서--authenticationDatabase
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--authenticationMechanism=<name>
기본값: SCRAM-SHA-1
mongorestore
인스턴스가mongod
또는mongos
를 인증하는 데 사용하는 인증 메커니즘을 지정합니다.버전 100.1.0 변경 사항: 버전
100.1.0
부터mongorestore
는 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 클러스터에 연결하기를 참조하세요.
버전 100.1.0의 새로운 기능.
GSSAPI (Kerberos)Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.PLAIN (LDAP SASL)LDAP를 사용한 외부 인증.PLAIN
을 사용해 데이터베이스 내 사용자를 인증할 수도 있습니다.PLAIN
은 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.또는
URI connection string
에서 직접 인증 메커니즘을 지정할 수도 있습니다. 연결 문자열을 제공하면서--authenticationMechanism
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--gssapiServiceName=<serviceName>
GSSAPI/Kerberos를 사용하여 서비스 이름을 지정합니다. 서비스가 기본값 이름인
mongodb
를 사용하지 않는 경우에만 필요합니다.이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
--gssapiHostName=<hostname>
GSSAPI/Kerberos를 사용하여 서비스의 호스트 이름을 지정합니다. 시스템의 호스트 이름이 DNS에서 확인한 호스트 이름과 일치하지 않는 경우에만 필요합니다.
이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
--db=<database>, -d=<database>
BSON 파일에서 복원하는 경우,
mongorestore
가 데이터를 복원할 대상 데이터베이스를 지정합니다. 데이터베이스가 존재하지 않으면mongorestore
가 데이터베이스를 만듭니다. 예를 들어 다음 예에서는salaries
컬렉션을reporting
데이터베이스로 복원합니다.mongorestore --db=reporting dump/test/salaries.bson --db
을 지정하지 않으면mongorestore
는 데이터 파일에서 데이터베이스 이름을 읽습니다.디렉토리 또는 아카이브 파일에서 복원할 때
--db
및--collection
옵션은 더 이상 사용되지 않습니다. 대신 아카이브 또는 디렉토리에서 복원하려면--nsInclude
을(를) 참조하세요.또는
URI connection string
에 직접 데이터베이스를 지정할 수도 있습니다.--db
를 사용하는 동안 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--collection=<collection>, -c=<collection>
BSON 파일에서 복원할 때 데이터 를 복원할
mongorestore
대상 컬렉션의 이름을 지정합니다.--collection
를 지정하지 않으면mongorestore
가 입력 파일 이름에서 컬렉션 이름을 가져옵니다. 입력 파일에 확장자가 있는 경우 MongoDB는 컬렉션 이름에서 파일 확장자를 생략합니다.mongorestore --db=reporting --collection=employeesalaries dump/test/salaries.bson 디렉토리 또는 아카이브 파일에서 복원할 때
--db
및--collection
옵션은 더 이상 사용되지 않습니다. 대신 아카이브 또는 디렉토리에서 복원하려면--nsInclude
을(를) 참조하세요.
--nsExclude=<namespace pattern>
네임스페이스 패턴을 지정합니다(예:
"test.myCollection"
,"reporting.*"
,"dept*.bar"
)를 지정하여 일치하는 네임스페이스를 복원에서 제외 합니다. 패턴에서는 별표*
를 와일드카드 로 사용할 수 있습니다. 와일드카드 패턴의 예는 와일드 카드를 사용하여 컬렉션 복원을 참조하세요.--nsExclude
를 여러 번 지정하여 여러 네임스페이스 패턴을 제외할 수 있습니다.If you specify both
--nsExclude
and--nsInclude
, the pattern that--nsExclude
specifies takes precedence. For example, if you specify both--nsExclude="prod.*"
and--nsInclude="prod.trips"
, no collections from theprod
namespace are restored.
--nsInclude=<namespace pattern>
네임스페이스 패턴을 지정합니다(예:
"test.myCollection"
,"reporting.*"
,"dept*.bar"
) 패턴과 일치하는 네임스페이스만 복원합니다. 패턴에서는 별표*
를 와일드카드 로 사용할 수 있습니다. 와일드카드 패턴의 예는 와일드 카드를 사용하여 컬렉션 복원을 참조하세요.--nsInclude
를 여러 번 지정하여 여러 네임스페이스 패턴을 포함할 수 있습니다.소스 디렉터리나 파일(즉, 데이터를 복원하고자 하는 디렉토리/파일)에 네임스페이스 패턴과 일치하는 데이터 파일이 없는 경우 데이터가 복원되지 않습니다.
ASCII가 아닌 문자가 포함된 컬렉션 이름의 경우
mongodump
는 해당 파일 이름을 퍼센트 인코딩된 이름으로 출력합니다. 그러나 이러한 컬렉션을 복원할 때는 인코딩된 이름을 사용하지 마세요. 대신 ASCII가 아닌 문자가 포함된 네임스페이스를 사용하세요.예를 들어 덤프 디렉토리에
dump/test/caf%C3%A9s.bson
이 포함되어 있으면--nsInclude "test.cafés"
을 지정합니다.If you specify both
--nsExclude
and--nsInclude
, the pattern that--nsExclude
specifies takes precedence. For example, if you specify both--nsExclude="prod.*"
and--nsInclude="prod.trips"
, no collections from theprod
namespace are restored.
--nsFrom=<namespace pattern>
--nsTo
와 함께 사용하면 복원 작업 중에 네임스페이스 의 이름을 바꿀 수 있습니다.--nsFrom
는 덤프 파일의 컬렉션을 지정하고--nsTo
는 복원된 데이터베이스에서 사용해야 하는 이름을 지정합니다.--nsFrom
는 네임스페이스 패턴 을 인수로 허용합니다. 네임스페이스 패턴을 사용하면--nsFrom
가 지정된 패턴과 일치하는 모든 네임스페이스를 참조할 수 있습니다.mongorestore
는 네임스페이스 패턴의 가장 작은 유효한 항목과 일치합니다.간단하게 대체하려면 별표(
*
)를 와일드 카드로 사용합니다. 백슬래시를 사용하여 별표와 백슬래시를 모두 이스케이프 처리하세요. 대체 항목은 일치 항목에 선형적으로 대응합니다.--nsFrom
의 각 별표는--nsTo
의 별표와 일치해야 하고,--nsFrom
의 첫 번째 별표는nsTo
의 첫 번째 별표와 일치해야 합니다.더 복잡한 대체의 경우 달러 기호를 사용하여 대체에 사용할 '와일드카드' 변수를 구분합니다. 복원 중 컬렉션 네임스페이스 변경 은 달러 기호로 구분된 와일드카드를 사용한 복잡한 대체의 예를 제공합니다.
별표가 있는 대체와 달리 달러 기호로 구분된 와일드카드가 있는 대체는 선형일 필요가 없습니다 .
--nsTo=<namespace pattern>
--nsFrom
와 함께 사용하면 복원 작업 중에 네임스페이스 의 이름을 바꿀 수 있습니다.--nsTo
는 복원된 데이터베이스에서 사용할 새 컬렉션 이름을 지정하고--nsFrom
는 덤프 파일에서 사용할 이름을 지정합니다.--nsTo
는 네임스페이스 패턴 을 인수로 허용합니다. 네임스페이스 패턴을 사용하면--nsTo
가 지정된 패턴과 일치하는 모든 네임스페이스를 참조할 수 있습니다.mongorestore
는 네임스페이스 패턴의 가장 작은 유효한 항목과 일치합니다.간단하게 대체하려면 별표(
*
)를 와일드 카드로 사용합니다. 백슬래시를 사용하여 별표와 백슬래시를 모두 이스케이프 처리하세요. 대체 항목은 일치 항목에 선형적으로 대응합니다.--nsFrom
의 각 별표는--nsTo
의 별표와 일치해야 하고,--nsFrom
의 첫 번째 별표는nsTo
의 첫 번째 별표와 일치해야 합니다.더 복잡한 대체의 경우 달러 기호를 사용하여 대체에 사용할 '와일드카드' 변수를 구분합니다. 복원 중 컬렉션 네임스페이스 변경 은 달러 기호로 구분된 와일드카드를 사용한 복잡한 대체의 예를 제공합니다.
별표가 있는 대체와 달리 달러 기호로 구분된 와일드카드가 있는 대체는 선형일 필요가 없습니다 .
--objcheck
클라이언트의 모든 요청 수신 시
mongorestore
가 유효성을 검사하도록 강제하여 클라이언트가 데이터베이스에 유효하지 않은 문서를 삽입하지 않도록 합니다. 하위 문서 중첩이 많은 객체의 경우--objcheck
가 성능에 미치는 영향은 미미할 수 있습니다.
--drop
덤프 백업에서 컬렉션을 복원하기 전에 대상 데이터베이스에서 컬렉션을 삭제합니다.
--drop
는 백업에 없는 컬렉션을 삭제하지 않습니다.복원에
admin
데이터베이스가 포함된 경우mongorestore
와--drop
는 모든 사용자 자격 증명을 제거하고 덤프 파일에 정의된 사용자로 대체합니다. 따라서authorization
가 활성화된 시스템에서는mongorestore
가 기존 사용자 및 덤프 파일에 정의된 사용자에 대해 인증할 수 있어야 합니다.mongorestore
가 덤프 파일에 정의된 사용자를 인증할 수 없는 경우 복원 프로세스가 실패하고 빈 데이터베이스가 남게 됩니다.복원의 일부로 컬렉션이 삭제되었다가 다시 생성되는 경우,
--drop
을--preserveUUID
와 함께 사용하지 않는 한 새로 생성된 컬렉션은 다른 UUID를 갖습니다.
--preserveUUID
복원된 컬렉션은 복원의 일부로 제거되고 다시 생성되는 컬렉션에 대해 새 UUID를 만드는 대신 복원 데이터의 UUID를 사용합니다.
--preserveUUID
을 사용하려면--drop
옵션도 포함해야 합니다.
--dryRun
실제로 데이터를 가져오지 않고
mongorestore
를 실행하여mongorestore
요약 정보를 반환합니다.--verbose
와 함께 사용하면 더 자세한 요약 정보를 생성할 수 있습니다.
--oplogReplay
데이터베이스 덤프를 복구한 후
oplog.bson
파일에서 oplog 항목을 재생합니다.복원 시
oplog.bson
파일의 oplog 항목을 적용하려면mongorestore --oplogReplay
를 사용하세요.mongodump --oplog
를mongorestore --oplogReplay
와 함께 사용하여 데이터가 최신이고 덤프 작업 중에 발생한 모든 쓰기가 있는지 확인할 수 있습니다.mongorestore
다음 위치에서 BSON 파일의 유효한 소스를 검색합니다:덤프 디렉토리의 최상위 수준으로,
mongodump --oplog
로 작성된 덤프의 경우와 같습니다.<dump-directory>/local/oplog.rs.bson
복제본 세트의 멤버인mongod
의local
데이터베이스에 있는oplog.rs
컬렉션의 덤프의 경우입니다.
덤프 디렉토리의 최상위 수준에
oplog.bson
파일이 있고--oplogFile
로 지정된 경로가 있는 경우mongorestore
에서 오류를 반환합니다.덤프 디렉토리의 최상위 레벨에
oplog.bson
파일이 있는 경우mongorestore
는 해당 파일을 oplog로 복원합니다.dump/local
디렉토리에 bson 파일도 있는 경우 일반 컬렉션과 같이mongorestore
가 해당 파일을 복원합니다.--oplogFile
을 사용하여 oplog 파일을 지정하면mongorestore
는 해당 파일을 oplog로 복원합니다.dump/local
디렉토리에 BSON 파일도 있는 경우 일반 컬렉션과 같이mongorestore
가 해당 파일을 복원합니다.oplog 재생 출력의 다음 메시지는 oplog 재생 전의 삽입 수를 보여줍니다. 재생 중에 수행되는 삽입은 포함되지 않습니다.
0 document(s) restored successfully. 0 document(s) failed to restore. --oplogReplay
의 예시는 Oplog 파일을 사용하여 데이터 백업 및 복원을 참조하세요.참고
mongorestore
을(를) 와(과) 함께--oplogReplay
사용하여 복제본 세트를 복원하는 경우 을(를) 사용하여 생성된 복제본 세트 멤버의 전체 덤프를mongodump --oplog
복원해야 합니다. 다음 옵션 중 하나를 사용하여 복원할 데이터를 제한하는 경우--oplogReplay
를 사용한mongorestore
의 실행이 실패합니다.
--oplogLimit=<timestamp>
mongorestore
이(가)<timestamp>
이후의 타임스탬프를 가진 oplog 항목을 적용하지 못하도록 합니다.<timestamp>
값을<time_t>:<ordinal>
형식으로 지정합니다. 여기서<time_t>
은 UNIX epoch 이후의 초이고<ordinal>
은 지정된 초 동안 발생한 oplog의 작업 카운터를 나타냅니다.경고
oplogLimit
사용 시 주의하세요. 적용할 oplog 항목을 수동으로 지정하면 복원된 데이터가 손상되거나 불일치가 발생할 수 있습니다.--oplogLimit
은--oplogReplay
옵션과 함께 사용해야 합니다.
--oplogFile=<path>
복원을 위한 oplog 데이터가 포함된 oplog 파일의 경로를 지정합니다.
--oplogReplay
과 함께 사용합니다.--oplogFile
을 지정하고 덤프 디렉토리의 최상위 수준에oplog.bson
파일이 있는 경우mongorestore
는 오류를 반환합니다.경고
oplogFile
사용 시 주의하세요. 적용할 oplog 항목을 수동으로 지정하면 복원된 데이터가 손상되거나 불일치가 발생할 수 있습니다.
--convertLegacyIndexes
버전 100.0.0에 추가됨.
해당
mongodump
출력에 지정된 유효하지 않은 인덱스 옵션을 모두 제거하고 기존 인덱스 키 값을 유효한 값을 사용하도록 다시 작성합니다.유효하지 않은 인덱스 옵션 은 명령에 유효한 필드
createIndexes
로 나열되지 않은 인덱스에 지정된 모든 옵션입니다. 예를 들어name
및collation
는 유효하지만 임의의custom_field
는 유효하지 않습니다.--convertLegacyIndexes
을(를) 지정하면 유효하지 않은 인덱스 옵션이 발견되면 삭제됩니다.레거시 인덱스 키 값 은 더 이상 지원되지 않는 인덱스 유형 에 대한 모든 값입니다. 예를 들어
1
및-1
는 유효한 인덱스 키 값이지만0
또는 빈 string 은 레거시 값입니다.--convertLegacyIndexes
을(를) 지정하면 발견된 모든 레거시 인덱스 키 값이1
로 다시 작성됩니다. 비어 있지 않은 string 값은 대체되지 않습니다.
--convertLegacyIndexes
옵션을 지정하지 않으면 잘못된 인덱스 옵션 또는 레거시 인덱스 키 값이 있을 때 인덱스 빌드가 실패할 수 있습니다.--noIndexRestore
옵션이mongorestore
로 지정되면--convertLegacyIndexes
옵션은 무시됩니다.
--noIndexRestore
mongorestore
가 해당mongodump
출력에 지정된 대로 인덱스를 복원 및 빌드하지 못하도록 합니다.
--fixDottedHashIndex
점 필드의 모든 해시 인덱스를 대상 데이터베이스에 단일 필드 오름차순 인덱스로 생성합니다.
--restoreDbUsersAndRoles
지정된 데이터베이스에 대한 사용자 및 역할 정의를 복원합니다. 자세한 내용은 system.roles 컬렉션 및 system.users 컬렉션을을 참조하세요.
참고
데이터베이스를
--restoreDbUsersAndRoles
옵션에 지정하는 경우admin
--db
옵션을 사용할 수 없으며, 이를 시도하면 오류가 발생합니다.--db admin
를mongorestore
에 지정하여admin
데이터베이스를 복원하면 이미 모든 사용자와 역할이 복원됩니다.
--writeConcern=<document>
기본값: 대다수(majority)
mongorestore
가 수행하는 각 쓰기 작업에 대한 쓰기 고려 를 지정합니다.--writeConcern="{w:'majority'}" 쓰기 고려가
--uri connection string
에도 포함되어 있으면 명령줄--writeConcern
이 URI string 에 지정된 쓰기 고려를 재정의합니다.
--maintainInsertionOrder
기본값: false
이를 지정하면
mongorestore
는 입력 소스에 표시된 순서대로 문서를 삽입합니다. 즉, 일괄 쓰기 배치 순서와 배치 내 문서 순서가 모두 유지됩니다.--maintainInsertionOrder
를 지정하면--stopOnError
도 활성화되고numInsertionWorkersPerCollection
가 1로 설정됩니다.지정하지 않으면
mongorestore
가 임의의 순서로 삽입을 수행할 수 있습니다.
--numParallelCollections=<int>, -j=<int>
기본값: 4
mongorestore
컬렉션의 수는 병렬로 복원해야 합니다.단일
-j
컬렉션을 복원할-j
--numInsertionWorkersPerCollection
--numParallelCollections
때 를 지정하면 이(가) 대신 옵션에 매핑됩니다.
--numInsertionWorkersPerCollection=<int>
기본값: 1
컬렉션당 동시에 실행할 삽입 작업자 수를 지정합니다.
대규모 가져오기의 경우 삽입 작업자 수를 늘리면 가져오기 속도가 빨라질 수 있습니다.
--stopOnError
오류가 발생하면
mongorestore
에서 복원을 강제로 중지합니다.기본적으로
mongorestore
는 중복 키 및 문서 유효성 검사 오류가 발생해도 계속 진행됩니다. 이러한 오류가 발생해도 프로그램이 중지되도록 하려면--stopOnError
를 지정합니다.
--bypassDocumentValidation
작업 중에
mongorestore
가 문서 유효성 검사를 우회하도록 설정합니다. 이를 통해 유효성 검사 요구 사항을 충족하지 않는 문서를 삽입할 수 있습니다.
--gzip
다음에 의해 생성된 압축 파일 또는 데이터 스트림에서 복원
mongodump --gzip
압축 파일이 포함된 덤프 디렉토리에서 복원하려면
--gzip
옵션과 함께mongorestore
를 실행하세요.압축된 아카이브 파일에서 복원하려면
--gzip
및--archive
옵션을 모두 사용하여mongorestore
를 실행합니다.
--archive=<file>
지정된 아카이브 파일에서 복원하거나, 파일이 지정되지 않은 경우 표준 입력(
stdin
)에서 복원합니다.아카이브 파일에서 복원하려면
--archive
옵션과 아카이브 파일 이름을 사용하여mongorestore
를 실행합니다.표준 입력에서 복원하려면
--archive
옵션을 사용하여mongorestore
를 실행하되 파일 이름은 생략합니다.