문서 메뉴

문서 홈MongoDB 실행 및 관리MongoDB 데이터베이스 도구

mongorestore

이 페이지의 내용

  • 개요
  • 구문
  • 옵션
  • 자세히 알아보기

이 문서는 mongorestore100.9.0 버전에 대한 설명입니다.

mongorestore 프로그램은 mongodump 에서 만든 바이너리 데이터베이스 덤프 또는 표준 입력에서 mongod 또는 mongos 인스턴스로 데이터를 로드합니다.

mongo 셸이 아닌 시스템 명령줄에서 mongorestore 를 실행합니다.

다음도 참조하세요.

mongodump, 해당 바이너리 데이터 내보내기 기능을 제공합니다.

MongoDB는 동일한 collection에 대해 여러 mongorestore 프로그램을 동시에 실행하는 것을 지원하지 않습니다.

MongoDB 데이터베이스 도구를 사용하여 자체 호스팅 배포서버에서 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 예시를 참조하세요.

--help

옵션 및 mongorestore의 사용에 대한 정보를 반환합니다.

--verbose, -v

표준 출력이나 로그 파일에 반환되는 내부 보고의 양이 늘어납니다. 옵션을 여러 번 포함하여 -v 형식의 상세도를 높입니다(예: -vvvvv.)

--quiet

출력량을 제한하려고 시도하는 자동 모드에서 mongorestore를 실행합니다.

이 옵션은 다음과 같은 활동을 억제합니다.

  • 데이터베이스 명령의 출력

  • 복제 활동

  • 연결 수락 이벤트

  • 연결 종료 이벤트

--version

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]]"

mongorestore100.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 과 같은 자체 명시적인 명령줄 옵션을 사용하여 대신 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

참고

Ubuntu 에서 를 mongorestore 18 사용하는04 경우.cannot unmarshal DNS 옵션과 함께 SRV 연결 문자열 (mongodb+srv:// 형식)을 사용할 때 --uri 오류 메시지가 표시될 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.

  • SRV가 아닌 연결 --uri 문자열 이 있는 옵션(mongodb:// 형식)

  • 직접 연결할 호스트를 지정하는 --host 옵션

경고

일부 시스템에서는 --uri 옵션으로 연결 문자열에 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려하세요.

  • 대화형 암호 프롬프트를 받기 위해 연결 문자열에서 암호를 생략하거나

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--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 에서 암호를 입력하라는 메시지가 표시됩니다. 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는 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.

경고

--sslAllowInvalidCertificates 옵션은 사용할 수 있는 경우에도 가급적 사용하지 않는 것이 좋습니다. --sslAllowInvalidCertificates를 사용해야만 하는 경우, 침입이 불가능한 시스템에서만 옵션을 사용하세요.

서버 인증서의 유효성을 검사하지 않고 mongod 또는 mongos 인스턴스에 연결하면 잠재적인 보안 위험이 발생할 수 있습니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사만 비활성화해야 하는 경우 --sslAllowInvalidHostnames 를 참조하세요.

또는 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 Atlas 클러스터에 연결하는 MONGODB-AWS authentication mechanism 경우 다음에서 AWS 액세스 키 ID를 지정할 수 있습니다.

각각의 예는 AWS를 사용하여 MongoDB Atlas cluster에 연결하기를 참조하세요.

--password=<password>, -p=<password>

인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 비밀번호를 지정합니다. --username--authenticationDatabase 옵션과 함께 사용합니다.

사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 --username 옵션을 --password 전달하거나 에서와 같이 빈 문자열을 값으로 --password --password="" 지정합니다.

또는 URI connection string 에 직접 비밀번호를 지정할 수도 있습니다. --password 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

를 사용하여 MongoDB Atlas 클러스터에 연결하는 MONGODB-AWS authentication mechanism 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.

각각의 예는 AWS를 사용하여 MongoDB Atlas cluster에 연결하기를 참조하세요.

경고

일부 시스템에서는 --password 옵션을 사용하여 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려하세요.

  • --password 옵션을 생략하여 대화형 비밀번호 프롬프트를 받거나

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--awsSessionToken=<AWS Session Token>

를 사용하고 AWS 액세스 키 ID 및 비밀 액세스 키 외에 세션 토큰을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 세션 토큰을 지정할 수 있습니다.MONGODB-AWS authentication mechanism

각각의 예는 AWS를 사용하여 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 부터 mongorestoreMongoDB Atlas 클러스터에 연결할 때 MONGODB-AWS 인증 메커니즘에 대한 지원을 추가합니다.

설명
SCRAM-SHA-1

RFC 7677 SHA-256 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.

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 를 여러 번 지정하여 여러 네임스페이스 패턴을 제외할 수 있습니다.

--nsInclude=<namespace pattern>

패턴과 일치하는 네임스페이스만 복원하도록 네임스페이스 패턴(예: "test.myCollection", "reporting.*", "dept*.bar")을 지정합니다. 패턴에서는 별표 *와일드카드 로 사용할 수 있습니다. 와일드카드 패턴의 예는 와일드 카드를 사용하여 컬렉션 복원을 참조하세요.

--nsInclude 를 여러 번 지정하여 여러 네임스페이스 패턴을 포함할 수 있습니다.

소스 디렉터리나 파일(즉, 데이터를 복원하고자 하는 디렉토리/파일)에 네임스페이스 패턴과 일치하는 데이터 파일이 없는 경우 데이터가 복원되지 않습니다.

ASCII가 아닌 문자가 포함된 컬렉션 이름의 경우 mongodump는 해당 파일 이름을 퍼센트 인코딩된 이름으로 출력합니다. 그러나 이러한 컬렉션을 복원할 때는 인코딩된 이름을 사용하지 마세요. 대신 ASCII가 아닌 문자가 포함된 네임스페이스를 사용하세요.

예를 들어 덤프 디렉토리에 dump/test/caf%C3%A9s.bson이 포함되어 있으면 --nsInclude "test.cafés"을 지정합니다.

--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

데이터베이스 덤프를 복원한 후 bson 파일에서 oplog 항목을 재생합니다. mongodump --oplog 와 함께 사용하는 경우 mongorestore --oplogReplaymongodump --oplog 명령으로 캡처한 특정 시점 백업으로 데이터베이스를 복원합니다.

mongorestore 다음 위치에서 BSON 파일의 유효한 소스를 검색합니다:

덤프 디렉토리의 최상위 수준에 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 세트를 복원하는 경우mongorestore 을(를) 사용하여 생성된 복제본 세트 멤버의 --oplogReplay 전체 덤프를 복원해야 합니다. 다음 옵션 중 하나를 사용하여 복원할 데이터를 제한하는 경우 를 사용한 의 실행이 실패합니다.

--oplogLimit=<timestamp>

mongorestore 이(가) <timestamp> 이후의 타임스탬프를 가진 oplog 항목을 적용하지 못하도록 합니다. <timestamp> 값을 <time_t>:<ordinal> 형식으로 지정합니다. 여기서 <time_t> 은 UNIX epoch 이후의 초이고 <ordinal> 은 지정된 초 동안 발생한 oplog의 작업 카운터를 나타냅니다.

--oplogLimit--oplogReplay 옵션과 함께 사용해야 합니다.

--oplogFile=<path>

복원을 위한 oplog 데이터가 포함된 oplog 파일의 경로를 지정합니다. --oplogReplay 과 함께 사용합니다.

--oplogFile 을 지정하고 덤프 디렉토리의 최상위 수준에 oplog.bson 파일이 있는 경우 mongorestore 는 오류를 반환합니다.

--convertLegacyIndexes

버전 100.0.0에 추가됨.

해당 mongodump 출력에 지정된 유효하지 않은 인덱스 옵션을 모두 제거하고 기존 인덱스 키 값을 유효한 값을 사용하도록 다시 작성합니다.

  • 유효하지 않은 인덱스 옵션 은 명령에 유효한 필드 나열되지 않은 인덱스에 createIndexes 지정된 모든 옵션입니다. 예를 들어namecollation 는 유효하지만 임의의 는 유효하지 custom_field 않습니다. 를 --convertLegacyIndexes 지정하면 유효하지 않은 인덱스 옵션이 발견되면 삭제됩니다.

  • 레거시 인덱스 키 값 은 더 이상 지원되지 않는 인덱스 유형 에 대한 모든 값입니다. 예를 들어1-1 는 유효한 인덱스 키 값이지만 0 또는 빈 문자열은 레거시 값입니다. 를 --convertLegacyIndexes 지정하면 발견된 모든 레거시 인덱스 키 값이 로 다시 1 작성됩니다. 비어 있지 않은 문자열 값은 대체되지 않습니다.

--convertLegacyIndexes 옵션을 지정하지 않으면 잘못된 인덱스 옵션 또는 레거시 인덱스 키 값이 있을 때 인덱스 빌드가 실패할 수 있습니다.

--noIndexRestore 옵션이 mongorestore 로 지정되면 --convertLegacyIndexes 옵션은 무시됩니다.

--keepIndexVersion

복원 프로세스 중에 mongorestore가 인덱스를 최신 버전으로 업그레이드하는 것을 방지합니다.

--noIndexRestore

mongorestore가 해당 mongodump 출력에 지정된 대로 인덱스를 복원 및 빌드하지 못하도록 합니다.

--fixDottedHashIndex

대상 데이터베이스에 점 필드의 모든 해시 인덱스 를 단일 필드 오름차순 인덱스로 생성합니다.

--noOptionsRestore

mongorestore 이(가) 복원된 컬렉션에서 collMod 데이터베이스 명령 으로 지정된 것과 같은 컬렉션 옵션을 설정하지 못하도록 합니다.

--restoreDbUsersAndRoles

지정된 데이터베이스에 대한 사용자 및 역할 정의를 복원합니다. 자세한 내용은 system.roles 컬렉션system.users 컬렉션 을 참조하세요.

참고

데이터베이스를 --restoreDbUsersAndRoles 옵션에 admin 지정하는 경우 --db 옵션을 사용할 admin --db admin 수 없으며, 이를 시도하면 오류가 발생합니다. 를 에 지정하여 데이터베이스를 mongorestore 복원하면 이미 모든 사용자와 역할이 복원됩니다.

--writeConcern=<document>

기본값: 대다수(majority)

mongorestore 가 수행하는 각 쓰기 작업에 대한 쓰기 고려 를 지정합니다.

w 옵션을 사용하여 쓰기 고려를 문서로 지정합니다.

--writeConcern="{w:'majority'}"

쓰기 고려가 --uri connection string 에도 포함되어 있으면 명령줄 --writeConcern 이 URI 문자열에 지정된 쓰기 고려를 재정의합니다.

--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 이(가) 문서 유효성 검사 를 우회하도록 설정합니다. 이를 통해 유효성 검사 요구 사항을 충족하지 않는 문서를 삽입할 수 있습니다. Queryable Encryption이 활성화된 컬렉션을 복원하는 경우 이 옵션이 필요합니다.

--gzip

다음에 의해 생성된 압축 파일 또는 데이터 스트림에서 복원 mongodump --gzip

압축 파일이 포함된 덤프 디렉토리에서 복원하려면 --gzip 옵션과 함께 mongorestore를 실행하세요.

압축된 아카이브 파일에서 복원하려면 --gzip--archive 옵션을 모두 사용하여 mongorestore 를 실행합니다.

참고

--nsFrom--nsTo 옵션을 --gzip 옵션과 함께 사용하여 복원하려는 컬렉션의 네임스페이스를 변경할 수 있습니다.

--archive=<file>

지정된 아카이브 파일에서 복원하거나, 파일이 지정되지 않은 경우 표준 입력(stdin)에서 복원합니다.

  • 아카이브 파일에서 복원하려면 --archive 옵션과 아카이브 파일 이름을 사용하여 mongorestore를 실행합니다.

  • 표준 입력에서 복원하려면 --archive 옵션을 사용하여 mongorestore를 실행하되 파일 이름은 생략합니다.

참고

  • --archive 옵션은 --dir 옵션과 함께 사용할 수 없습니다.

  • --archive 옵션을 <path> 매개 변수와 함께 사용하면 mongorestore<path> 매개 변수를 무시합니다.

  • mongorestore 표준 입력에서 단일 컬렉션을 복원하기 위한 위치 - 매개변수를 계속 지원합니다.

<path>

데이터를 복원할 디렉터리 경로 또는 BSON 파일 이름입니다.

<path> 인수와 덤프 디렉토리도 지정하는 --dir 옵션을 모두 mongorestore에 지정할 수는 없습니다.

--dir=string

덤프 디렉토리를 지정합니다.

  • --dir 옵션과 덤프 디렉토리도 지정하는 <path> 인수를 모두 mongorestore에 지정할 수는 없습니다.

  • --archive 옵션은 --dir 옵션과 함께 사용할 수 없습니다.

← mongodump 예제