이 문서는 mongoexport의 100.18.0 버전에 대한 설명입니다.
Synopsis
mongoexport MongoDB 인스턴스에 저장된 데이터의 JSON 또는 CSV 내보내기를 생성하는 데이터베이스 도구입니다.
셸 아닌 시스템 명령줄 mongo 에서 를 실행합니다.mongoexport
mongoexport 배포를 백업하기 위한 도구가 아닙니다. 백업 솔루션을 만들려면 MongoDB 도구를 사용한 백업 및 복원을 참조하세요.
팁
mongoimport 은(는) 해당 구조화된 데이터 내보내기 기능을 제공합니다.
참고
저장 비용을 절약하기 위해 오래된 데이터를 보관하는 경우 MongoDB Atlas 의 온라인 보관 고려하세요. 온라인 보관 자주 액세스하지 않는 데이터를 관리형 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있습니다.--host에호스트 이름과 포트를 지정합니다.mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options] 및 에
--host호스트 이름과 포트를--port지정합니다.mongoexport --host="mongodb0.example.com" --port=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있습니다.에 복제본 세트 이름과 멤버를
--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있습니다.명령줄 옵션을 사용하여 읽기 설정 (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있습니다.
기본적으로 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있습니다.명령줄 옵션을 사용하여 읽기 설정 (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 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.경고
또는
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-qa는 옵션을$gte사용하여 필드 ( ) 보다 크거나 같고3필드date( ) 보다 작은$lt문서만ISODate("2016-01-01T00:00:00Z")내보냅니다. }는 2 날짜({ "$date": "YYYY-MM-DDTHH:mm:ss.mmm\<offset\>"})에 대해 확장 JSON v 형식(relaxed 모드)을 사용하여 지정됩니다.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를 및 와 함께 사용합니다.--limitmongoexport -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()기본 작업에 대한 자세한 내용은 를 참조하세요.