Docs Menu
Docs Home
/
MongoDB Database Tools

mongoimport

이 페이지의 내용

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

이 문서는 mongoimport100.10.0 버전에 대한 설명입니다.

mongoimportmongoexport로 생성된 확장 JSON, CSV 또는 TSV 내보내기나 다른 타사 내보내기 도구에서 콘텐츠를 가져옵니다.

mongo shell이 아닌 시스템 명령줄에서 mongoimport을 실행하세요.

mongoexport 는 데이터 내보내기 기능을 제공합니다.

MongoDB Database Tools를 사용하여 자체 호스팅 배포서버에서 MongoDB Atlas로 마이그레이션할 수 있습니다. MongoDB Atlas는 클라우드에서의 MongoDB 배포서버를 위한 완전 관리형 서비스입니다. 자세한 내용은 mongorestore로 시드 구성을 참조하세요.

MongoDB Atlas로 마이그레이션할 수 있는 모든 방법을 알아보려면 데이터 마이그레이션 또는 가져오기를 참조하세요.

그래픽 사용자 인터페이스 도구인 MongoDB Compass를 사용하여 데이터를 가져오고 내보낼 수도 있습니다. 자세한 내용은 MongoDB Compass 가져오기 및 내보내기를 참조하세요.

mongoimport 구문:

mongoimport <options> <connection-string> <file>
--help

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

--verbose, -v

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

--quiet

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

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

  • 데이터베이스 명령에서 출력

  • 복제 활동

  • 연결 수락 이벤트

  • 연결 종료 이벤트

--version

mongoimport 출시 번호를 반환합니다.

--config=<filename>

버전 100.3.0의 새로운 기능.

다음 옵션에 대한 중요한 값을 포함하는 YAML 구성 파일의 전체 경로를 mongoimport에 지정합니다.

비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에 mongoimport에 비밀번호를 지정하는 권장 방법입니다.

구성 파일은 다음과 같은 형식을 취합니다:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

password: 필드에 암호를 지정하고 uri: 필드에 충돌하는 암호가 포함된 연결 문자열을 제공하면 오류가 발생합니다.

적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.

참고

--config로 구성 파일을 지정하고 --password, --uri 또는 --sslPEMKeyPassword 옵션을 mongoimport에 사용하는 경우 각 명령줄 옵션은 구성 파일의 해당 옵션을 재정의합니다.

--uri=<connectionString>

따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.

--uri "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

참고

--db 또는 --uri 옵션을 사용하여 데이터베이스를 지정하지 않으면 mongoimport 는 기본적으로 test 데이터베이스를 사용합니다. test 데이터베이스가 존재하지 않으면 mongoimport 가 데이터베이스를 생성합니다.

mongoimport100.0 버전부터는 --uri 옵션을 사용하지 않고 대신 위치 매개변수로 연결 문자열을 제공할 수도 있습니다.

mongoimport mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

연결 문자열은 mongodb:// 또는 mongodb+srv:// 중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예시:

mongoimport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

연결 문자열은 하나만 제공할 수 있습니다. --uri 옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.

연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.

참고

connection string의 일부 구성요소는 --username--password와 같은 자체 명시적 명령줄 옵션을 사용하여 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

참고

mongoimport Ubuntu 18.04를 사용하는 경우 --uri 옵션과 함께 SRV 연결 문자열(mongodb+srv:// 형식)을 사용하면 cannot unmarshal DNS 오류 메시지가 나타날 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.

경고

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

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

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

--host=<hostname><:port>, -h=<hostname><:port>

기본값: localhost:27017

MongoDB deployment의 확인 가능한 호스트 이름을 지정합니다. 기본적으로 mongoimport는 포트 번호 27017의 로컬 호스트에서 실행되는 MongoDB 인스턴스에 연결을 시도합니다.

복제본 세트에 연결하려면 다음과 같이 replSetName과 세트 멤버의 시드 목록을 지정합니다.

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

복제본 설정 목록 형식을 지정할 때 mongoimport는 항상 프라이머리에 연결합니다.

또한 해당 멤버의 호스트와 포트만 지정하여 복제본 세트의 단일 멤버에 연결할 수 있습니다.

--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 옵션을 사용합니다. 모든 경우에 mongoimport 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

PEM 파일의 개인 키가 암호화되어 있고 --sslPEMKeyPassword 옵션을 지정하지 않은 경우 mongoimport 에 암호를 입력하라는 메시지가 표시됩니다. 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 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도 mongoimport가 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 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 IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.

경고

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

  • --password 옵션을 생략하여 대화형 암호 프롬프트를 받거나, 또는

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

--awsSessionToken=<AWS Session Token>

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

각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.

MONGODB-AWSauthentication mechanism을 사용할 때만 유효합니다.

--authenticationDatabase=<dbname>

지정한 --username이 생성된 인증 데이터베이스를 지정합니다. 인증 데이터베이스를 참조하세요.

GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는 MONGODB-AWS authentication mechanisms를 사용하는 경우 --authenticationDatabase$external로 설정해야 합니다.

또는 URI connection string에서 직접 인증 데이터베이스를 지정할 수도 있습니다. 연결 문자열을 제공하면서 --authenticationDatabase를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--authenticationMechanism=<name>

기본값: SCRAM-SHA-1

mongoimport 인스턴스가 mongod 또는 mongos를 인증하는 데 사용하는 인증 메커니즘을 지정합니다.

버전 100.1.0 변경 사항: 버전 100.1.0부터 mongoimportMongoDB Atlas 클러스터에 연결할 때 MONGODB-AWS 인증 메커니즘에 대한 지원을 추가합니다.

설명

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>

mongoimport 을(를) 실행할 데이터베이스의 이름을 지정합니다.

또는 URI connection string에 직접 데이터베이스를 지정할 수도 있습니다. --db를 사용하는 동안 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

참고

--db 또는 --uri 옵션을 사용하여 데이터베이스를 지정하지 않으면 mongoimport 는 기본적으로 test 데이터베이스를 사용합니다. test 데이터베이스가 존재하지 않으면 mongoimport 가 데이터베이스를 생성합니다.

--collection=<collection>, -c=<collection>

가져올 컬렉션을 지정합니다. --collection 을 지정하지 않으면 mongoimport 는 입력 파일 이름에서 컬렉션 이름을 읽고 파일 확장자가 있는 경우 생략합니다.

--fields=<field1[,field2]>, -f=<field1[,field2]>

파일의 첫 번째(즉, 헤더) 줄에 필드 이름이 없는 CSV 또는 TSV 파일을 가져올 때는 쉼표로 구분된 필드 이름 목록을 지정합니다.

필드 이름과 함께 필드 유형도 지정하려면 --fields--columnsHaveTypes 와 함께 사용합니다.

JSON 데이터를 가져올 때 --fields 를 포함하려고 하면 mongoimport 에서 오류를 반환합니다. --fieldsCSV 또는 TSV 가져오기에만 해당됩니다.

--fieldFile=<filename>

--fields 대신 --fieldFile 옵션을 사용하면 CSV 또는 TSV 파일의 첫 번째 줄에 필드 이름이 포함되지 않은 경우 필드 이름 목록이 포함된 파일을 지정할 수 있습니다(예: 헤더). 한 줄에 하나의 필드를 배치합니다.

필드 이름과 함께 필드 유형도 지정하려면 --fieldFile--columnsHaveTypes 와 함께 사용합니다.

JSON 데이터를 가져올 때 --fieldFile 를 포함하려고 하면 mongoimport 에서 오류를 반환합니다. --fieldFileCSV 또는 TSV 가져오기에만 해당됩니다.

--ignoreBlanks

CSVTSV 내보내기에서 빈 필드를 무시합니다. 지정하지 않으면 mongoimport 에서 가져온 문서에 값이 없는 필드를 만듭니다.

JSON 데이터를 가져올 때 --ignoreBlanks 를 포함하려고 하면 mongoimport 에서 오류를 반환합니다. --ignoreBlanksCSV 또는 TSV 가져오기에만 해당됩니다.

--type=<json|csv|tsv>

가져올 파일 형식을 지정합니다. 기본 형식은 JSON이지만 CSVTSV 파일을 가져올 수 있습니다.

csv 파서는 RFC-4180을 준수하는 데이터를 허용합니다. 따라서 백슬래시는 유효한 이스케이프 문자가 아닙니다. CSV 데이터에서 필드를 큰따옴표로 묶는 경우 앞에 큰따옴표를 붙여 내부 큰따옴표를 생략해야 합니다.

--file=<filename>

가져올 데이터가 포함된 파일의 위치와 이름을 지정합니다. 파일을 지정하지 않으면 mongoimport 는 표준 입력에서 데이터를 읽습니다(예: "stdin").

--drop

입력에서 데이터를 가져오기 전에 대상 인스턴스가 컬렉션 및 관련 인덱스 를 삭제하도록 가져오기 프로세스를 수정합니다.

--headerline

--type csv 또는 --type tsv 을 사용하는 경우 첫 번째 줄을 필드 이름으로 사용합니다. 그렇지 않으면 mongoimport 첫 번째 줄을 고유 문서로 가져옵니다.

JSON 데이터를 가져올 때 --headerline 를 포함하려고 하면 mongoimport 에서 오류를 반환합니다. --headerlineCSV 또는 TSV 가져오기에만 해당됩니다.

--useArrayIndexFields

버전 100.0.0에 추가됨.

CSV 또는 TSV 파일을 가져올 때 필드의 자연수를 배열 인덱스로 해석합니다.

필드 이름은 <colName>.<arrayIndex> 형식이어야 하며, 여기서 arrayIndex는 배열의 각 멤버에 대해 0으로 시작하여 순차적으로 1씩 증가하는 자연수입니다.

예를 들어 다음 CSV 파일의 경우:

a.0,a.1,a.2,a.3
red,yellow,green,blue

--useArrayIndexFields 옵션을 사용하여 가져오면 다음 문서가 생성됩니다.

"a" : [ "red", "yellow", "green", "blue" ]

--columnsHaveTypes 옵션도 사용하는 경우 <colName>.<arrayIndex>.<type>(<arg>) 형식을 사용하여 각 필드의 배열 인덱스와 유형을 모두 지정합니다. 자세한 내용은 --columnsHaveTypes 를 참조하세요.

앞에 0이 있는 숫자 키(예: a.000,a.001)는 배열 인덱스로 해석되지 않습니다.

키의 첫 번째 부분이 자연수인 경우(예: 0.a,1.a), 배열 인덱스가 아닌 문서 키로 해석됩니다.

--ignoreBlanks 옵션을 --useArrayIndexFields 과 함께 사용하는 경우, mongoimport 는 빈 값이 포함된 문서를 가져오려고 하면 오류를 반환합니다(예: "")에 대한 배열 인덱스 필드입니다.

배열이 이미 JSON 형식으로 인코딩되어 있으므로 JSON 데이터를 가져올 때 --useArrayIndexFields 옵션은 효과가 없습니다.

--mode=<insert|upsert|merge|delete>

Default: insert

가져오기 프로세스에서 가져오기 파일의 문서와 일치하는 데이터베이스의 기존 문서를 처리하는 방법을 지정합니다.

기본적으로 mongoimport_id 필드를 사용하여 컬렉션의 문서를 가져오기 파일의 문서와 일치시킵니다. upsert, mergedelete 모드에서 기존 문서와 일치시킬 필드를 지정하려면 --upsertFields 을(를) 사용합니다.

설명
insert
가져오기 파일에 문서를 삽입합니다. 고유 인덱스 가 있는 필드의 중복 값이 포함된 문서(예: _id)를 가져오려고 하면 mongoimport 에서 오류를 반환합니다.
upsert
데이터베이스의 기존 문서를 가져오기 파일에서 일치하는 문서로 바꿉니다. mongoimport 은(는) 다른 모든 문서를 삽입합니다. 가져오기 중 일치하는 문서 바꾸기 에서 --mode upsert 사용 방법을 설명합니다.
merge
가져오기 파일의 문서와 일치하는 기존 문서를 새 문서와 병합합니다. mongoimport 은(는) 다른 모든 문서를 삽입합니다. 가져오기 중 일치하는 문서 병합 에서 --mode merge 사용 방법을 설명합니다.
delete

가져오기 파일의 문서와 일치하는 데이터베이스의 기존 문서를 삭제합니다. mongoimport 은 일치하지 않는 문서에 대해 아무런 조치 를 취하지 않습니다. 일치하는 문서 삭제 에서는 --mode delete 사용 방법을 설명합니다.

버전 100.0.0에 추가됨.

--upsertFields=<field1[,field2]>

가져오기 프로세스의 쿼리 부분에 대한 필드 목록을 지정합니다. --upsertFields--mode upsert, mergedelete 와 함께 사용할 수 있습니다.

기존 문서의 _id 필드가 문서의 필드와 일치하지 않지만 다른 필드 또는 필드 조합을 업서트 작업을 수행하기 위한 기준으로 활용해 문서를 고유하게 식별할 수 있는 경우 이 옵션을 사용하세요.

필드를 지정하지 않으면 --upsertFields_id 필드를 기준으로 업서트합니다.

적절한 성능을 보장하려면 --upsertFields 으로 지정한 필드에 대한 인덱스가 있어야 합니다.

--stopOnError

첫 번째 오류가 발생하면 mongoimport 이(가) 오류에도 불구하고 작업을 계속하지 않고 삽입 작업을 중지하도록 강제합니다.

기본적으로 mongoimport 는 중복 키 및 문서 유효성 검사 오류가 발생하면 작업을 계속합니다. 이러한 오류가 발생해도 프로그램이 중지되도록 하려면 --stopOnError 를 지정합니다.

--jsonArray

단일 JSON 배열 내에서 여러 MongoDB 문서로 표현된 데이터 가져오기를 허용합니다. 16 MB 이하의 가져오기로 제한됩니다.

--jsonArraymongoexport --jsonArray 와 함께 사용합니다.

--legacy

가져오기 데이터가 Extended JSON v2 형식이 아닌 Extended JSON v1 형식임을 나타냅니다.

일반적으로 mongoexportmongoimport 의 버전이 일치해야 합니다. 즉, mongoexport 에서 만든 데이터를 가져오려면 해당 버전의 mongoimport 을 사용해야 합니다.

예를 들어 가져오기 데이터가 v1 형식인 경우:

{"_id":1.0,"myregfield":{"$regex":"foo","$options":"i"}}

--legacy 옵션 없이 가져오면 컬렉션에 다음 문서가 생성됩니다.

{ "_id" : 1, "myregfield" : { "$regex" : "foo", "$options" : "i" } }

--legacy 결과와 함께 가져오면 컬렉션에 다음 문서가 생성됩니다.

{ "_id" : 1, "myregfield" : { "$regularExpression" : { "pattern" : "foo", "options" : "i" } } }
--maintainInsertionOrder

기본값: false

이를 지정하면 mongoimport는 입력 소스에 표시된 순서대로 문서를 삽입합니다. 즉, 일괄 쓰기 배치 순서와 배치 내 문서 순서가 모두 유지됩니다.

--maintainInsertionOrder를 지정하면 --stopOnError도 활성화되고 numInsertionWorkers가 1로 설정됩니다.

지정하지 않으면 mongoimport가 임의의 순서로 삽입을 수행할 수 있습니다.

--numInsertionWorkers=<int>

기본값: 1

동시에 실행할 삽입 작업자 수를 지정합니다.

대규모 가져오기의 경우 삽입 작업자 수를 늘리면 가져오기 속도가 빨라질 수 있습니다.

--writeConcern=<document>

기본값: 대다수(majority)

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

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

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

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

--bypassDocumentValidation

작업 중에 mongoimport문서 유효성 검사를 우회하도록 설정합니다. 이를 통해 유효성 검사 요구 사항을 충족하지 않는 문서를 삽입할 수 있습니다.

--columnsHaveTypes

--fields, --fieldFile 또는 --headerline 에 지정된 필드 목록이 각 필드의 유형을 지정하도록 mongoimport 에 지시합니다.

필드 이름은 <colName>.<type>(<arg>) 형식이어야 합니다. 인수에 포함하려면 (, )\ 문자를 백슬래시로 이스케이프해야 합니다.

type
지원되는 인수
헤더 필드 예시
auto()
없음.
misc.auto()
binary(<arg>)
  • base32 (RFC4648 인코딩 스키마)

  • base64 (RFC4648 인코딩 스키마)

  • hex

user thumbnail.binary(base64)
boolean()
없음.
verified.boolean()
date(<arg>)
date_go(<arg>)의 또 다른 이름. Go 언어 time.Parse 형식.
created.date(2006-01-02 15:04:05)
date_go(<arg>)
created.date_go(2006-01-02T15:04:05Z)
date_ms(<arg>)
created.date_ms(yyyy-MM-dd H:mm:ss)
date_oracle(<arg>)
created.date_oracle(YYYY-MM-DD HH24:MI:SS)
decimal()
none
price.decimal()
double()
없음.
revenue.double()
int32()
없음.
followerCount.int32()
int64()
없음.
bigNumber.int64()
string()
없음.
zipcode.string()

샘플 사용법 은 지정된 필드 유형으로 CSV 가져오기를 참조하세요.

JSON 데이터를 가져올 때 --columnsHaveTypes 를 포함하려고 하면 mongoimport 에서 오류를 반환합니다. --columnsHaveTypesCSV 또는 TSV 가져오기에만 해당됩니다.

--parseGrace=<grace>

기본값: 중지

--columnsHaveTypes를 사용하여 CSV 또는 TSV 파일을 가져올 때 mongoimport 가 유형 강제 변환 실패를 처리하는 방법을 지정합니다

--parseGrace 은(는) JSON 문서를 가져올 때 아무런 영향을 미치지 않습니다.

설명
autoCast
필드 값에 따라 유형을 할당합니다. 예를 들어 필드가 double 로 정의되어 있고 해당 필드의 값이 "foo"인 경우 mongoimport 는 해당 필드 값을 string 유형으로 만듭니다.
skipField
가져오는 행의 경우 mongoimport 에는 예상 유형과 일치하지 않는 유형의 필드가 포함되지 않습니다.
skipRow
mongoimport 예상 유형과 일치하지 않는 유형에 대해 값이 포함된 행을 가져오지 않습니다.
stop
mongoimport 가져오기를 종료하는 오류를 반환합니다.

돌아가기

예시