mongoexport 예제
이 페이지의 내용
이 페이지에는 mongoexport
의 예가 나와 있습니다.
mongo
shell이 아닌, 시스템 명령줄에서 mongoexport
를 실행합니다.
CSV 형식으로 내보내기
옵션을 사용하여 CSV 형식으로 데이터 --fields
내보내기
다음 예시 에서 mongoexport
는 users
데이터베이스 의 컬렉션 contacts
컬렉션 데이터를 CSV 형식으로 /opt/backups/contacts.csv
파일 로 내보냅니다.
mongoexport
가 연결되는 mongod
인스턴스가 localhost 포트 번호 27017
에서 실행 중입니다.
CSV 형식으로 내보낼 때 내보낼 문서의 필드를 지정해야 합니다. 이 작업은 내보낼 name
및 address
필드를 지정합니다.
mongoexport --db=users --collection=contacts --type=csv --fields=name,address --out=/opt/backups/contacts.csv
이 경우 출력은 다음과 유사합니다:
name, address Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street
파일을 사용하여 CSV 형식으로 내보낼 필드 지정
CSV 내보내기의 경우에만 줄로 구분된 내보낼 필드의 목록을 포함하는 파일을 지정할 수도 있습니다. 파일에는 한 줄에 하나의 필드만 있어야 합니다.
예를 들어 fields.txt
파일에서 name
및 address
필드를 지정할 수 있습니다:
name address
그런 다음 --fieldFile
옵션을 사용하여 파일 과 함께 내보낼 필드를 지정합니다.
mongoexport --db=users --collection=contacts --type=csv --fieldFile=fields.txt --out=/opt/backups/contacts.csv
CSV 출력에서 필드 이름 제외
--noHeaderLine
옵션을 사용하여 CSV 내보내기에서 필드 이름을 제외할 수 있습니다. 다음 예시에서는 users
데이터베이스의 contacts
컬렉션에 있는 name
및 address
필드를 내보내고 --noHeaderLine
을 사용하여 필드 이름의 출력을 첫 번째 줄로 표시하지 않습니다.
mongoexport --db=users --collection=contacts --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/contacts.csv
그러면 CSV 출력은 다음과 비슷해집니다:
Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street
JSON 형식으로 내보내기
이 예시는 로컬 호스트 포트 번호 27017
에서 실행되는 MongoDB 인스턴스에서 contacts
컬렉션의 내보내기를 생성합니다. 그러면 내보내기가 JSON 형식의 contacts.json
파일로 기록됩니다.
mongoexport --db=sales --collection=contacts --out=contacts.json
인증으로 실행 중인 원격 호스트에서 내보내기
다음 예에서는 인증이 필요한 원격 MongoDB 인스턴스에서 marketing
데이터베이스의 contacts
컬렉션을 내보냅니다.
다음을 지정합니다:
팁
비밀번호를 입력하라는 mongoexport
메시지를 표시하려면 --password
옵션을 생략하세요.
mongoexport --host=mongodb1.example.net --port=27017 --username=someUser --authenticationDatabase=admin --collection=contacts --db=marketing --out=mdb1-examplenet.json
또는 --uri
옵션을 사용하여 호스팅하다, 포트, 사용자 이름, 인증 데이터베이스 및 db를 지정할 수 있습니다.
팁
URI 문자열에서 비밀번호를 생략하여 mongoexport
가 비밀번호 입력 메시지를 표시하도록 합니다:
mongoexport --uri='mongodb://someUser@mongodb0.example.com:27017/marketing?authsource=admin' --collection=contacts --out=mdb1-examplenet.json
쿼리 결과 내보내기
--query
옵션으로 쿼리 필터를 제공하여 쿼리 결과만 내보낼 수 있으며 '--db
' 옵션을 사용하여 결과를 단일 데이터베이스로 제한할 수 있습니다.
예를 들어, 이 명령은 sales
데이터베이스의 contacts
컬렉션에서 dept
라는 필드가 "ABC"
와 같고 date
필드가 ISODate("2018-01-01") ( 날짜에 표준 형식 사용 { "$date": "YYYY-MM-DDTHH:mm:ss.mmm<offset>"} )
mongoexport --db=sales --collection=contacts --query='{"dept": "ABC", date: { $gte: { "$date": "2018-01-01T00:00:00.000Z" } }}'
쿼리 문서가 셸 환경과 상호 작용하지 않도록 하려면 쿼리 문서를 작은따옴표('{ ... }'
)로 묶어야 합니다.
AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기
버전 100.1.0의 새로운 기능.
Amazon Web Services IAM 자격 증명 을 통해 인증을 지원하도록 MongoDB Atlas connection string
구성된 클러스터에 연결하려면 mongoexport
다음과 같이 에 를 제공합니다.
mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
이러한 방식으로 AWS IAM 자격 증명을 사용하여 Atlas에 연결하면 이 예와 같이 MONGODB-AWS
authentication mechanism
및 $external
authSource
가 사용됩니다.
AWS 세션 토큰을 사용하는 경우에도 다음과 같이 AWS_SESSION_TOKEN
authMechanismProperties
값과 함께 제공합니다.
mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
참고
또는 다음과 같이 --username
, --password
및 --awsSessionToken
옵션을 대신 사용하여 AWS 액세스 키 ID, 시크릿 액세스 키 및 세션 토큰(선택 사항)을 각각 연결 문자열 외부에 제공할 수 있습니다.
mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
명령줄 매개변수로 제공되는 경우 이러한 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
표준 AWS IAM 환경 변수를 사용하여 플랫폼에서 이러한 자격 증명을 설정할 수도 있습니다. mongoexport
는 MONGODB-AWS
authentication mechanism
을 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
설정된 경우 이러한 자격 증명은 연결 문자열이나 명시적 옵션을 통해 지정할 필요가 없습니다.
참고
AWS 환경 변수를 사용하여 이러한 값을 지정하기로 선택한 경우 이러한 자격 증명에 해당하는 명시적 또는 연결 문자열 옵션과 조합하여 사용할 수 없습니다. 액세스 키 ID 및 비밀 액세스 키(사용 중인 경우 세션 토큰도 함께 필요)에 환경 변수를 사용하거나 또는 명시적 또는 연결 문자열 옵션을 사용하여 각각을 지정합니다.
다음 예시에서는 bash
셸에서 이러한 환경 변수를 설정합니다.
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
다른 셸에서 환경 변수를 설정하는 구문은 다를 수 있습니다. 자세한 내용은 사용 중인 플랫폼의 설명서를 참조하세요.
다음 명령어로 이러한 환경 변수가 설정되었는지 확인할 수 있습니다.
env | grep AWS
설정이 완료되면 다음 예시에서는 이러한 환경 변수를 사용하여 MongoDB Atlas 클러스터에 연결합니다.
mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>