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.