mongoimport 동작, 액세스 및 사용법
이 페이지의 내용
경고
데이터 가져오기 및 내보내기가 ($) 및 (.)와 충돌하는 경우
MongoDB 5.0 부터 문서 필드 이름 앞에 달러 문자($
)를 붙일 수 있으며 마침표 문자(.
)를 포함할 수 있습니다. 그러나 mongoimport
및 mongoexport
는 해당 문자를 사용하는 필드 이름에서는 작동하지 않습니다.
MongoDB Extended JSON v2는 래퍼 타입(wrapper type)과 이름이 같은 래퍼 타입(wrapper type)과 필드를 구분할 수 없습니다. 해당 BSON 표현에 접두사가 붙은 키($
)가 포함될 수 있는 상황에서는 Extended JSON 형식을 사용하지 마세요. DBRef 메커니즘에는 해당 일반 규칙이 적용되지 않습니다.
필드 이름에 mongoimport
및 mongoexport
를 (.
)와 함께 사용하는 것도 제한됩니다. CSV 파일은 (.
)를 사용하여 데이터 계층 구조를 나타내기 때문에 필드 이름에 (.
)가 있으면 중첩 수준으로 잘못 해석됩니다.
행동
유형 충실도
mongoexport
를 사용하여 전체 인스턴스 백업을 수행할 때 모든 리치 BSON 데이터 유형을 보존해야 하는 경우, 다음과 같은 방식으로 --jsonFormat
옵션에서 mongoexport
로 확장 JSON v2.0(Canonical 모드)를 지정해야 합니다.
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
--jsonFormat
(이)가 지정되지 않은 경우 기본적으로 mongoexport
(은)는 데이터를 Extended JSON v2.0(완화 모드)으로 출력합니다.
mongoimport
에서 복원 시 지정된 대상 데이터 파일에 있는 JSON 형식을 자동으로 사용합니다. 예를 들어, 대상 데이터 내보내기 파일이 mongoexport
에 의해 생성되고 --jsonFormat=canonical
이 지정된 경우 확장 JSON v2.0(Canonical 모드)를 사용합니다.
JSON Format
mongoimport
는 기본적으로 가져오기 데이터가 확장 JSON v2.0(표준) 또는 확장 JSON v2.0(완화) 형식이어야 합니다. 확장 JSON v1.0을 사용하여 형식이 지정된 데이터를 가져오려면 --legacy
옵션을 지정합니다.
팁
일반적으로 mongoexport
와 mongoimport
의 버전은 일치해야 합니다. 즉, mongoexport
에서 만든 데이터를 가져오려면 해당 버전의 mongoimport
를 사용해야 합니다.
문서 순서
기본값 으로 mongoimport
은 문서를 임의의 순서로 삽입할 수 있습니다. 복원 프로세스 중에 문서 순서를 유지하려면 --maintainInsertionOrder
를 사용합니다.
인코딩
mongoimport
UTF-8로 인코딩된 데이터 파일만 지원합니다. 다른 인코딩을 사용하면 오류가 발생합니다.
FIPS
mongoimport
FIPS 모드를 사용하도록 구성된 mongod
/ mongos
에 대한 FIPS 호환 연결을 자동으로 생성합니다.
쓰기 고려
--writeConcern
옵션과 --uri connection string
옵션 모두에서 쓰기 고려(write concern)를 지정하면 --writeConcern
값이 URI 문자열에 지정된 쓰기 고려(write concern)를 재정의합니다.
배치
mongoimport
, 최대 100,000개의 배치 크기를 사용하여 일괄 삽입/업서트 작업을 수행합니다.
필요한 액세스 권한
--auth
옵션을 사용해 권한 부여를 수행하는 mongod
에 연결하려면 반드시 --username
와 --password
옵션을 사용해야 합니다. 연결하는 사용자는 데이터를 가져올 데이터베이스에서 최소 readWrite
역할을 유지해야 합니다.