이 문서는 mongoexport의 100.19.0 버전에 대한 설명입니다.
Synopsis
mongoexport MongoDB 인스턴스에 저장된 데이터의 JSON 또는 CSV 내보내기를 생성하는 데이터베이스 도구입니다.
셸 아닌 시스템 명령줄 mongo 에서 를 실행합니다.mongoexport
mongoexport 배포를 백업하기 위한 도구가 아닙니다. 백업 솔루션을 만들려면 MongoDB 도구를 사용한 백업 및 복원을 참조하세요.
팁
mongoimport 은(는) 해당 구조화된 데이터 내보내기 기능을 제공합니다.
참고
스토리지 비용을 절약하기 위해 오래된 데이터를 보관하려는 경우 MongoDB Atlas 의 Online Archive 를 고려해 보세요. Online Archive는 자주 액세스하지 않는 데이터를 관리형 S3 버킷에 자동으로 보관하여 비용 효율적인 데이터 계층화를 지원합니다.
MongoDB Database Tools를 사용하여 자체 호스팅 배포서버에서 MongoDB Atlas로 마이그레이션할 수 있습니다. MongoDB Atlas는 클라우드에서의 MongoDB 배포서버를 위한 완전 관리형 서비스입니다. 자세한 내용은 mongorestore로 시드 구성을 참조하세요.
MongoDB Atlas로 마이그레이션할 수 있는 모든 방법을 알아보려면 데이터 마이그레이션 또는 가져오기를 참조하세요.
구문
mongoexport 구문:
mongoexport --collection=<coll> <options> <connection-string>
collection 내보내려면 를 지정해야 합니다. 를 output file mongoexport 지정하지 않으면 가 표준 출력(예: stdout)에 씁니다.
MongoDB 인스턴스에 연결
포트 27017에서 실행 중인 로컬 MongoDB 인스턴스에 연결하려면 호스트 또는 포트를 지정할 필요가 없습니다.
예시 를 들어 포트 에서 실행 로컬 collection output file MongoDB 인스턴스 27017에서 지정된 를 지정된 로 내보내려면 다음을 수행합니다.
mongoexport --collection=events --db=reporting --out=events.json
MongoDB 인스턴스의 호스트 및/또는 포트를 지정하려면 다음 두 가지 방법을 사용할 수 있습니다:
--uri connection string에호스트 이름과 포트를 지정합니다.mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options] --uri connection string을 사용하는 경우 데이터베이스를 string 의 일부로 지정할 수 있습니다.--host에호스트 이름과 포트를 지정합니다.mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options]
사용 가능한 옵션에 대한 자세한 내용은 옵션을 참조하세요.
복제본 세트에 연결
참고
mongoexport 데이터를 백업하기 위한 도구가 아닙니다. 복제본 세트를 백업하려면 MongoDB 도구를 사용한 백업 및 복원을 참조하세요.
복제본 세트에 연결하여 데이터를 내보내려면 다음 두 가지 방법을 사용할 수 있습니다:
에 복제본 세트 이름과 멤버를
--uri connection string지정합니다.mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName" --collection=events --out=events.json [additional options] --uri connection string을 사용하는 경우 데이터베이스를 string 의 일부로 지정할 수 있습니다.에 복제본 세트 이름과 멤버를
--host지정합니다.mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" --collection=events --db=reporting --out=events.json [additional options]
기본적으로 mongoexport 는 복제본 세트의 프라이머리에서 읽습니다. 기본값을 재정의하려면 읽기 설정을 지정하면 됩니다.
읽기 설정을 지정할 수 있습니다.
--uri connection stringmongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary" --collection=events --out=events.json [additional options] 읽기 설정 (read preference) 태그를 지정하는 경우 옵션을
readPreferenceTags포함합니다.mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] --uri connection string을 사용하는 경우 데이터베이스를 string 의 일부로 지정할 수 있습니다.명령줄 옵션을 사용하여 읽기 설정 (read preference) 지정할
--readPreference수 있습니다. 명령줄 옵션은 읽기 설정 (read preference) 모드 만 지정하는 경우 문자열을 사용합니다.mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] 또는 명령줄 옵션에서 따옴표로 묶인 문서
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'를 사용하여 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
사용 가능한 옵션에 대한 자세한 내용은 옵션을 참조하세요.
샤딩된 클러스터에 연결
참고
mongoexport 데이터를 백업하기 위한 도구가 아닙니다. 샤딩된 클러스터를 백업하려면 자체 관리형 샤딩된 클러스터 백업 및 복원을 참조하세요.
샤딩된 클러스터에 연결하여 데이터를 내보내려면 다음 두 가지 방법을 사용할 수 있습니다:
에 인스턴스 의 호스트
mongos이름을--uri connection string지정합니다.mongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options] --uri connection string을 사용하는 경우 데이터베이스를 string 의 일부로 지정할 수 있습니다.
기본적으로 mongoexport 은 샤드 복제본 세트의 프라이머리에서 읽습니다. 기본값을 재정의하려면 읽기 설정을 지정하면 됩니다.
읽기 설정을 지정할 수 있습니다.
--uri connection stringmongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options] 읽기 설정 (read preference) 태그를 지정하는 경우 옵션을
readPreferenceTags포함합니다.mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] --uri connection string을 사용하는 경우 데이터베이스를 string 의 일부로 지정할 수 있습니다.명령줄 옵션을 사용하여 읽기 설정 (read preference) 지정할
--readPreference수 있습니다. 명령줄 옵션은 읽기 설정 (read preference) 모드 만 지정하는 경우 문자열을 사용합니다.mongoexport --host="mongos0.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] 또는 명령줄 옵션에서 따옴표로 묶인 문서
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'를 사용하여 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.mongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
옵션
--quiet출력량을 제한하려고 시도하는 자동 모드에서
mongoexport를 실행합니다.이 옵션은 다음과 같은 활동을 억제합니다.
데이터베이스 명령의 출력
복제 활동
연결 수락 및 종료 이벤트
오류 메시지를 포함한 모든 로그(옵션 구문 분석 시 발생하는 로그 제외)
--config=<filename>버전 100 의 새로운 기능입니다.3.0.
다음
mongoexport옵션에 대한 민감한 값을 포함하는 YAML 설정 파일의 전체 경로를 지정합니다.비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에
mongoexport에 비밀번호를 지정하는 권장 방법입니다. 파일 내의 인수를 어떤 조합으로든 사용할 수 있습니다.구성 파일은 다음과 같은 형식을 취합니다:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password옵션을 지정하고uri를 지정하지 않으면,--username및--host와 같은mongoexport명령줄 옵션을 사용하여 연결 문자열의 다른 구성 요소를 지정할 수 있습니다.적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.
중요
--config옵션을 사용할 때는 다음과 같은 제한 사항 및 동작을 염두에 두세요.password필드를 제공하고uri필드에 충돌하는 비밀번호가 포함된 연결 문자열을 제공하면mongorestore에서 오류가 발생합니다.--config를 사용하여 설정 파일 지정하고--password,--uri또는--sslPEMKeyPasswordmongoexport명령줄 옵션을 사용하는 경우 명령줄 옵션이 해당 설정 파일 옵션을 재정의합니다.
--uri=<connectionString>따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" 의 버전부터
100.0mongoexport옵션을--uri사용하지 않고 연결 문자열 위치 매개변수로 대신 제공할 수 있습니다.mongoexport mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 연결 문자열은
mongodb://또는mongodb+srv://중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예시:mongoexport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 연결 문자열은 하나만 제공할 수 있습니다.
--uri옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.
참고
connection string의 일부 구성요소는--username및--password와 같은 자체 명시적 명령줄 옵션을 사용하여 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.참고
Ubuntu 에서 를 사용하는
mongoexport18.04 경우cannot unmarshal DNS옵션과 함께 SRV 연결 문자열(mongodb+srv://형식)을 사용할 때--uri오류 메시지가 표시될 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.비SRV 연결 문자열
--uri있는 옵션(mongodb://형식)--host옵션을 사용하여 직접 연결할 호스트를 지정하세요.
--host=<hostname><:port>, -h=<hostname><:port>기본값: localhost:27017
MongoDB deployment의 확인 가능한 호스트 이름을 지정합니다. 기본적으로
mongoexport는 포트 번호27017의 로컬 호스트에서 실행되는 MongoDB 인스턴스에 연결을 시도합니다.복제본 세트 에 연결하려면
replSetName다음과 같이 및 설정하다 멤버의 시드 목록 지정합니다.--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> 복제본 설정 목록 형식을 지정할 때
mongoexport는 항상 프라이머리에 연결합니다.또한 해당 멤버의 호스트와 포트만 지정하여 복제본 세트의 단일 멤버에 연결할 수 있습니다.
--host=<hostname1><:port> IPv6을 사용하고
<address>:<port>형식을 사용하는 경우 주소 및 포트 조합의 일부를 대괄호로 묶어야 합니다 (예:[<address>]).또는
URI connection string에 호스트 이름을 직접 지정할 수도 있습니다.--host를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--port=<port>기본값: 27017
MongoDB 인스턴스가 클라이언트 연결 수신을 대기하는 TCP 포트를 지정합니다.
또는
URI connection string에 직접 포트를 지정할 수도 있습니다.--port를 사용하면서 연결 문자열 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--sslTLS/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파일의 이름을 지정합니다.이 옵션은
--ssl옵션을 사용하여allowConnectionsWithoutCertificates없이CAFile가 활성화된mongod또는mongos에 연결할 때 필요합니다.또는
URI connection string에 직접.pem파일을 지정할 수도 있습니다.--sslPEMKeyFile를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslPEMKeyPassword=<value>인증서 키 파일 (예: )을 해독하기 위한 비밀번호를
--sslPEMKeyFile지정합니다. 인증서 키 파일 암호화됨--sslPEMKeyPasswordmongoexport경우에만 옵션을 사용합니다. 모든 경우에 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.PEM 파일 의 개인 키가 암호화됨 있고 옵션을 지정하지 않으면 에서 암호를 입력하라는
--sslPEMKeyPasswordmongoexport메시지가 표시됩니다.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검사하지 않고 또는 인스턴스 에 연결하면 잠재적인 보안 위험이 발생할 수 있습니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사 검사만 비활성화해야 하는 경우 를mongos--sslAllowInvalidHostnames참조하세요.또는
URI connection string에서 직접 인증서 유효성 검사 비활성화할 수도 있습니다.--sslAllowInvalidCertificates를 사용하면서 연결 문자열 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidHostnamesTLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도
mongoexport가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.또는
URI connection string에서 호스트 이름 유효성 검사를 비활성화할 수도 있습니다.--sslAllowInvalidHostnames를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--username=<username>, -u=<username>인증 사용하는 MongoDB database 에 인증할 사용자 이름
--password지정합니다. 및 옵션과 함께 사용합니다.--authenticationDatabase또는
URI connection string에 직접 사용자 이름을 지정할 수도 있습니다.--username을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.를 사용하여 MongoDB Atlas cluster 에 연결하는
MONGODB-AWSauthentication mechanism경우 다음에서 AWS 액세스 키 ID 지정할 수 있습니다.이 필드,
AWS_ACCESS_KEY_ID환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
--password=<password>, -p=<password>인증 사용하는 MongoDB database 에 인증하는 데 사용할 비밀번호를
--username지정합니다. 및 옵션과 함께 사용합니다.--authenticationDatabase사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 없이
--username옵션을 전달하거나 에서와--password--password--password ""같이 빈 문자열을 값으로 지정합니다.또는
URI connection string에 비밀번호를 직접 지정할 수도 있습니다.--password를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.를 사용하여 MongoDB Atlas cluster 에 연결하는
MONGODB-AWSauthentication mechanism경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.이 필드,
AWS_SECRET_ACCESS_KEY환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
경고
일부 시스템에서는
--password옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려해 보세요.--password옵션을 생략하여 대화형 비밀번호 프롬프트를 받거나--config옵션을 사용하여 비밀번호가 포함된 설정 파일을 지정합니다.
--awsSessionToken=<AWS Session Token>를 사용하고 AWS 액세스 키 ID 및 비밀 액세스 키 외에 세션 토큰을 사용하여 MongoDB Atlas cluster 에 연결하는 경우 다음에서 AWS 세션 토큰을 지정할 수 있습니다.
MONGODB-AWSauthentication mechanism이 필드,
매개변수를 로
AWS_SESSION_TOKENauthMechanismPropertiesconnection string설정하거나AWS_SESSION_TOKEN환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
MONGODB-AWSauthentication mechanism을(를) 사용할 때만 유효합니다.
--authenticationDatabase=<dbname>지정된 가 생성된
--username인증 데이터베이스 지정합니다. 인증 데이터베이스를 참조하세요.인증 데이터베이스를 지정하지 않으면
mongoexport는 내보내도록 지정된 데이터베이스가 사용자의 자격 증명을 보유하고 있다고 가정합니다.GSSAPI (Kerberos), PLAIN (LDAP SASL) 또는
MONGODB-AWSauthentication mechanisms를 사용하는 경우--authenticationDatabase를$external로 설정해야 합니다.또는
URI connection string에서 직접 인증 데이터베이스를 지정할 수도 있습니다.--authenticationDatabase를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--authenticationMechanism=<name>기본값: SCRAM-SHA-1
인스턴스 또는 에 인증하는
mongoexportmongod데 사용하는 인증 메커니즘mongos지정합니다.버전 100.1.0에서 변경됨:
버전
100.1.0부터mongoexport는 MongoDB Atlas 클러스터에 연결할 때MONGODB-AWS인증 메커니즘에 대한 지원을 추가합니다.값설명SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.5802 1
SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.7677 256
featureCompatibilityVersion이
4.0으로 설정되어야 합니다.MongoDB TLS/SSL 인증서 인증.
MONGODB-AWSMongoDB 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>mongoexport을(를) 실행할 데이터베이스의 이름을 지정합니다.또는
URI connection string에 직접 데이터베이스를 지정할 수도 있습니다.--db를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--fields=<field1[,field2]>, -f=<field1[,field2]>내보내기에 포함할 필드를 지정합니다. 여러 필드를 지정하려면 쉼표로 구분된 필드 목록을 사용하세요.
필드 이름에 공백이 포함된 경우 따옴표를 사용하여 필드 목록을 묶습니다. 예를 들어
phone과user number두 필드를 내보내려면--fields "phone,user number"를 지정합니다.csv출력 형식의 경우mongoexport에는 지정된 필드 만 포함되며, 지정된 필드 하위 문서 내의 필드 일 수 있습니다.JSON 출력 형식의 경우
mongoexport에는 지정된 필드 와_id필드 만 포함되며, 지정된 필드 하위 문서 내의 필드 인 경우 에는 다음이mongoexport포함된 하위 문서가 포함됩니다. 문서 내의 지정된 필드 뿐만 아니라 모든 필드.참조: 샘플 사용을 위해
--fields옵션을 사용하여 CSV 형식으로 데이터 내보내기 .
--fieldFile=<filename>--fields의 대안입니다. 옵션을--fieldFile사용하면 내보내기에 포함할 필드를 파일에 지정할 수 있으며 값을--type가지고 있는 옵션에서만csv유효합니다. 파일에는 한 줄에 하나의 필드만 있어야 하며 줄은 LF 문자(0x0A)로 끝나야 합니다.mongoexport지정된 필드만 포함합니다. 지정된 필드는 하위 문서 내의 필드일 수 있습니다.샘플 사용법 은 파일을 사용하여 CSV 형식으로 내보낼 필드 지정을 참조하세요.
--query=<JSON>, -q=<JSON>내보내기에서 일치하는 문서를 반환하기 위해 쿼리를 JSON 문서(따옴표로 묶음)로 제공합니다.
쿼리 문서가 셸 환경과 상호 작용하지 않도록 하려면 쿼리 문서를 작은따옴표(
'{ ... }')로 묶어야 합니다.쿼리 필드 이름과 연산자를 따옴표로 묶는 것을 포함하여 확장 JSON v2 형식(relaxed 모드 또는 canonical/strict 모드 )이어야 합니다.
예를 들어
test데이터베이스에records컬렉션이 다음 문서와 함께 있다고 가정합니다.{ "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1, "date" : ISODate("1960-05-01T00:00:00Z") } { "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2, "date" : ISODate("1970-05-01T00:00:00Z") } { "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5, "date" : ISODate("2010-05-01T00:00:00Z") } { "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6, "date" : ISODate("2015-05-02T00:00:00Z") } { "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8, "date" : ISODate("2018-03-01T00:00:00Z") } { "_id" : ObjectId("5cd0de910dbce4346295ae28"), "a" : 15, "b" : 5, "date" : ISODate("2015-03-01T00:00:00Z") } 다음
mongoexport는-q옵션을 사용하여a필드가 ($gte)3보다 크거나 같고date필드가 ($lt)ISODate("2016-01-01T00:00:00Z")(이는 날짜({ "$date": "YYYY-MM-DDTHH:mm:ss.mmm\<offset\>"})에 대해 확장 JSON v2 형식(완화 모드)을 사용하여 지정됨)보다 작은 문서만 내보냅니다.mongoexport -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' --out=exportdir/myRecords.json 결과 파일에는 다음 문서가 포함됩니다:
{"_id":{"$oid":"520e6431b7fa4ea22d6b1872"},"a":3.0,"b":3.0,"c":6.0,"date":{"$date":"2015-05-02T00:00:00Z"}} {"_id":{"$oid":"5cd0de910dbce4346295ae28"},"a":15.0,"b":5.0,"date":{"$date":"2015-03-01T00:00:00Z"}} 옵션을 사용하여 결과를 에 정렬할 수
--sort있습니다.mongoexportMongoDB 9.0부터 서버는 경로의 중간 구성 요소가 스칼라 값의 배열인 경우 점으로 구분된 필드 경로를
null와 다르게 일치시킵니다. 이 변경 사항은$eq,$ne,$in및$nin연산자에 영향을 줍니다.예를 들어
{ "a": [ 1 ] }문서가 포함된 컬렉션을 고려해 보세요. 해당 문서에a.b경로가 존재하지 않습니다.MongoDB 8.x 및 이전 버전에서 예측
{ "a.b": { "$ne": null } }은 문서와 일치합니다.MongoDB 9.0부터는 동일한 예측자가 문서와 일치하지 않으며, 그 대신 예측자
{ "a.b": { "$eq": null } }가 일치합니다.
쿼리에서 이러한 예측자를 사용하는 경우 이전 버전에서보다 MongoDB 9.0에서
--query값은 다른 문서 세트를 선택합니다.{ "$ne": null }에 대한 필터 작업은 더 적은 수의 문서를 반환합니다. MongoDB 9.0 배포에서 데이터를 덤프하거나 내보내기 전에 점선 경로를null와 비교하는 모든 쿼리를 검토하세요. 쿼리가 여전히 예상하는 문서를 선택하는지 확인하세요.
--queryFile=<filename>--query의 대안입니다.--queryFile옵션을 사용하면 파일 에 쿼리 확장 JSON v2 형식으로 지정할 수 있습니다.
--type=<string>Default: json
내보낼 파일 형식을 지정합니다.
csvCSV 형식의 경우json를 지정하고 JSON 형식의 경우 을 지정합니다.을 지정하는 경우 또는 옵션을 사용하여
--fields컬렉션--fieldFile에서 내보낼 필드도 선언해야 합니다.csv
--out=<file>, -o=<file>내보내기를 기록할 파일을 지정합니다. 파일 이름을 지정하지 않으면
mongoexport이(가) 표준 출력에 데이터를 씁니다(예:stdout).
--jsonFormat=<canonical|relaxed>기본값: relaxed
MongoDB 확장 JSON2 (v) 형식의 표준 또는 완화 모드 사용하도록 출력을 수정합니다.
표준 모드와 완화 모드의 차이점은 MongoDB 확장 JSON (v)을2 참조하세요.
--jsonArray내보내기의 전체 내용을 단일 JSON 배열 로 쓰기 (write) 도록 의 출력을 수정합니다. 기본값 으로 는
mongoexportmongoexport모든 MongoDB 문서 에 대해 하나의 JSON 문서 사용하여 데이터를 씁니다.
--noHeaderLine기본값 으로
mongoexport에는 내보낸 필드 이름이 CSV 출력의 첫 번째 줄에--noHeaderLinemongoexport포함됩니다.--type은 필드 이름--noHeaderLine목록 없이 데이터를 내보내도록 에 지시합니다. 는 값이 인 옵션에서만csv유효합니다.샘플 사용법 은 CSV 출력에서 필드 이름 제외를 참조하세요.
--readPreference=<string|document>기본값:
primary에 대한 읽기 설정 (read preference)
mongoexport지정합니다. 옵션은 다음을 사용할 수--readPreference있습니다.읽기 설정 모드만 지정하는 경우 문자열입니다:
--readPreference=secondary 따옴표로 묶인 문서를 통해 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' maxStalenessSeconds를 지정하는 경우 이 값은 보다 크거나 같아야 90 합니다.
mongoexportprimary기본값은 읽기 설정 (read preference) 입니다.읽기 설정 (read preference) 에도 포함된
--uri connection string경우--readPreference명령줄 가 URI 문자열에 지정된 읽기 설정 (read preference) 재정의합니다.
--limit=<number>내보내기에 포함할 최대 문서 수를 지정합니다. 기본 작업에 대한 자세한 내용은 를
limit()참조하세요.
--sort=<JSON>내보낸 결과의 순서를 지정합니다. 정렬 작업을 지원할 수 있는 인덱스가 존재하지 않는 경우 결과는 32메가바이트 미만이어야 합니다.
--sort--skip및 와 함께 를 사용하여 내보내는 문서의 수를--limit제한합니다.mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --out=export.0.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=100 --out=export.1.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=200 --out=export.2.json sort()기본 작업에 대한 자세한 내용은 를 참조하세요.