컬렉션을 MongoDB의 CSV 형식으로 내보내기

Tahseen Tauseef 2023년6월20일
  1. Studio 3T 내보내기 마법사를 사용하여 컬렉션을 MongoDB의 CSV 형식으로 내보내기
  2. MongoExport를 사용하여 컬렉션을 MongoDB의 CSV 형식으로 내보내기
컬렉션을 MongoDB의 CSV 형식으로 내보내기

이 문서에서는 컬렉션을 MongoDB에서 CSV 형식으로 내보내는 방법에 대해 자세히 설명합니다. 컬렉션을 CSV 형식으로 내보내는 방법에는 Studio 3T와 MongoExport 두 가지가 있습니다.

Studio 3T 내보내기 마법사를 사용하여 컬렉션을 MongoDB의 CSV 형식으로 내보내기

Studio 3T의 내보내기 마법사를 사용하여 MongoDB 컬렉션, 보기, 쿼리, 쿼리 결과 또는 단일 문서를 CSV, JSON, BSON/mongodump, SQL 또는 다른 컬렉션으로 내보낼 수 있습니다. 이 문서에서는 CSV 형식으로 내보내기에 대해서만 설명합니다.

내보내기 마법사 열기

MongoDB 데이터베이스에 연결한 후 전역 도구 모음에서 내보내기를 클릭하여 내보내기 마법사를 시작합니다.

CSV로 내보내기 - 내보내기 마법사 1

연결 트리(컬렉션, 버킷, 뷰)에서 서버, 데이터베이스 또는 컬렉션을 마우스 오른쪽 버튼으로 클릭하여 내보내기를 선택할 수도 있습니다.

CSV로 내보내기 - 내보내기 마법사 2

또는 결과 탭(컬렉션 탭, SQL 쿼리, IntelliShell) 또는 임의의 입력 또는 출력 패널에서 집계 편집기의 아무 곳이나 마우스 오른쪽 단추로 클릭하고 내보내기를 선택합니다.

CSV로 내보내기 - 내보내기 마법사 3

내보내기 소스

언제든지 Studio 3T에서 다음 파일을 내보낼 수 있습니다.

  1. 전체 컬렉션
  2. 전체보기
  3. find() 또는 집계 쿼리의 현재 쿼리 결과
  4. 현재 커서
  5. 특정 문서

CSV로 내보내기 - 내보내기 마법사 4

모든 내보내기에 대해 도구 모음에서 6가지 작업 중 하나를 선택할 수 있습니다.

  1. 내보내기를 작업으로 저장합니다. 주문형으로 실행하거나 나중에 예약할 수 있습니다.
  2. 작업을 즉시 실행합니다.
  3. 내보내기 단위를 추가, 편집 또는 제거할 수 있습니다.

CSV로 내보내기 - 내보내기 마법사 5

내보내기 소스 변경

내보내기를 설정할 때 내보내기 소스(예: 연결, 데이터베이스, 컬렉션)를 변경할 수 있습니다. 내보내기 단위 탭의 내보내기 소스에서 다음을 수행할 수 있습니다.

  1. 데이터베이스 또는 연결 목록에서 소스를 변경하려면 클릭하십시오.
  2. 연결 트리에서 탭으로 직접 소스를 끕니다.

CSV로 내보내기 - 내보내기 마법사 6

내보내는 경우 내보내기 단위 탭의 쿼리 표시줄에서 직접 find() 쿼리 결과를 변경할 수 있습니다. 입력하는 동안 쿼리 표시줄에서 JSON을 확인합니다.

CSV로 내보내기 - 내보내기 마법사 7

내보내기 파일 경로 변경

내보내기 개요 페이지에서 기본 대상 폴더를 설정할 수도 있습니다. Studio 3T는 이 경로에 대한 수정 사항을 기억합니다.

CSV로 내보내기 - 내보내기 마법사 8

MongoDB 컬렉션을 CSV 형식으로 내보내기

내보내기 마법사에서 내보내기 소스를 선택합니다.

연결 트리에서 항목을 선택하지 않았거나 이전 쿼리를 실행하지 않았거나 특정 문서를 선택하지 않은 경우 이 화면이 표시됩니다.

CSV로 내보내기 - 내보내기 마법사 9

그런 다음 내보내기 형식으로 CSV를 선택하고 다음을 클릭합니다.

CSV로 내보내기 - 내보내기 마법사 10

Studio 3T는 100개의 문서를 부분적으로 스캔하여 컬렉션에서 필드를 자동으로 찾습니다. 전체 스캔을 클릭하여 모든 필드를 식별하거나(시간이 걸릴 수 있음) 사용자 정의 필드 추가를 클릭하여 누락된 필드를 수동으로 추가할 수 있습니다.

CSV로 내보내기 - 내보내기 마법사 11

완료 버튼을 클릭하여 완료합니다. 이렇게 하면 내보내기 개요 탭이 시작되며 기본적으로 내보내기 단위 #1 – CSV 탭이 됩니다.

내보내기 단위 – CSV 탭에는 6개의 섹션이 있습니다.

  1. 소스 내보내기 - 소스 연결, 데이터베이스 및 컬렉션이 표시됩니다. 파란색 점선 상자 안을 클릭하거나 소스를 연결 트리에서 탭으로 직접 드래그하여 편집할 수 있습니다.

  2. 필드 선택 – 사용자 지정 필드를 추가 또는 제거하고 내보내기에 포함할 필드를 선택하거나 선택 취소합니다.

  3. 대상 선택 – 클립보드 또는 파일 중에서 선택하고 필요에 따라 파일 경로를 정의합니다.

    CSV로 내보내기 - 내보내기 마법사 12

  4. CSV 형식 - 사전 설정, 구분 기호, 레코드 구분 기호 등과 같은 설정을 구성합니다.

  5. 기타 옵션 - null 값, 열 머리글 등을 처리하는 방법과 같은 비포맷 설정을 구성합니다.

  6. 출력 미리보기 - CSV 파일 미리보기를 확대하려면 화살표 버튼을 클릭합니다.

CSV로 내보내기 - 내보내기 마법사 13

전역 내보내기 옵션을 구성하려면 내보내기 개요 탭으로 이동합니다.

CSV로 내보내기 - 내보내기 마법사 14

도구 모음에서 사용자 정의한 후 실행을 클릭하여 즉시 내보내기를 시작할 수 있습니다.

CSV로 내보내기 - 내보내기 마법사 15

추가 내보내기 단위를 추가하면 많은 CSV 내보내기를 한 번에 수행할 수 있습니다. CSV 내보내기를 작업으로 저장하고 나중에 실행하도록 예약하여 시간을 절약할 수 있습니다.

왼쪽 하단 모서리에 있는 작업 창을 확인하여 내보내기가 얼마나 진행되었는지 확인하십시오.

이 페이지에서 바로 내보내기 파일을 볼 수도 있습니다. 파일 탐색기(Windows, Linux)에서 열기 버튼을 선택하거나 동일한 창(macOS)에서 내보내기를 마우스 오른쪽 버튼으로 클릭할 때 Finder에 표시를 선택합니다.

CSV로 내보내기 - 내보내기 마법사 16

MongoExport를 사용하여 컬렉션을 MongoDB의 CSV 형식으로 내보내기

MongoExport를 사용하여 MongoDB 컬렉션, 보기, 쿼리 등을 CSV 형식으로 내보낼 수도 있습니다.

--fields 옵션을 사용하여 CSV 형식으로 데이터 내보내기

MongoExport는 students 데이터베이스의 data 컬렉션에서 다음 섹션의 /opt/backups/data.csv 파일로 데이터를 CSV 형식으로 내보냅니다.

MongoExport가 연결하는 mongod 인스턴스는 localhost의 포트 27017에서 수신 대기합니다.

CSV 형식으로 내보낼 때 내보낼 문서의 필드를 결정해야 합니다. 예를 들어, 내보낼 이름주소 필드는 작업에서 지정됩니다.

mongoexport --db=students --collection=data --type=csv --fields=name,address --out=/opt/backups/data.csv

출력:

name, address
Jack Reacher, 456 Example Road
Peter Parker, 123 Sample Street

파일을 사용하여 CSV 형식으로 내보낼 필드 지정

CSV 내보내기 전용으로 내보낼 줄로 구분된 필드 목록이 포함된 파일에 필드를 제공할 수도 있습니다. 파일에는 한 줄에 하나의 필드만 허용됩니다.

예를 들어 fields.txt라는 파일에서 이름주소 필드를 제공할 수 있습니다.

name
address

그런 다음 --fieldFile 옵션을 사용하여 파일과 함께 내보낼 필드를 결정합니다.

mongoexport --db=students --collection=data --type=csv --fieldFile=fields.txt --out=/opt/backups/data.csv

CSV 출력에서 필드 이름 제외

--noHeaderLine 옵션은 CSV 내보내기에서 필드 이름을 제외할 수 있습니다. 다음 예제는 students 데이터베이스의 data 컬렉션에서 nameaddress 필드를 내보내고 --noHeaderLine을 사용하여 필드 이름의 출력을 첫 번째 줄로 억제합니다.

mongoexport --db=students --collection=data --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/data.csv

출력:

Jack Reacher, 456 Example Road
Peter Parker, 123 Sample Street

관련 문장 - MongoDB CSV