MongoDB mongorestore 및 레코드가있는 기존 컬렉션


82

로 생성 된 컬렉션을 mongodump기존 데이터베이스로 가져와야하고 (복원) 레코드를 기존 컬렉션에 병합하고 싶습니다.

mongorestore동일한 컬렉션의 레코드를 병합 합니까? 아니면 레코드를 복원하기 전에 기존 컬렉션을 삭제합니까?

답변:


134

mongorestore--drop인수 를 사용하는 경우에만 기존 컬렉션을 삭제합니다 .

을 사용하지 않으면 --drop동일한 문서가 _id이미 존재 하지 않는 한 모든 문서가 기존 컬렉션에 삽입됩니다 . 동일한 문서는 _id건너 뛰고 병합되지 않습니다. 따라서 mongorestore기본적으로 기존 데이터를 삭제하거나 수정하지 않습니다.


--drop 옵션을 사용하여 mongodb가 실제로 삭제됩니까? 제 경우에는 복원시 덤프를 가져온 후 추가 된 이전 레코드를 볼 수 있습니다. 여기에 내 문제를 해결할 수 있습니다 stackoverflow.com/questions/22424347/...
— codeofnode


5
문서의 @codeofnode : --drop does not drop collections that are not in the backup.. 삭제할 것으로 예상되는 컬렉션이 실제로 백업에 있는지 확인해야합니다.
— csvan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.