MongoDB 컬렉션 이름 변경하기
MongoDB에서 기존 컬렉션의 이름을 변경하려면 renameCollection() 메서드를 사용하면 됩니다. 이 메서드는 현재 데이터베이스 내에서 컬렉션의 이름을 손쉽게 바꿔주며, 실행 결과로 성공 여부를 나타내는 응답을 반환합니다.
기본 문법
컬렉션 이름을 변경하는 기본 문법은 다음과 같습니다.
db.기존컬렉션이름.renameCollection('새로운컬렉션이름');실습 예제
문법을 제대로 이해하기 위해, 먼저 sample 데이터베이스에 존재하는 모든 컬렉션 목록을 확인해 보겠습니다.
> use sample; switched to db sample > show collections;
위 쿼리를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
copyThisCollectionToSampleDatabaseDemo deleteDocuments deleteDocumentsDemo employee informationAboutDelete internalArraySizeDemo prettyDemo selectWhereInDemo sourceCollection updateInformation userInformation
컬렉션 이름 변경 실행
이제 informationAboutDelete 컬렉션의 이름을 deleteSomeInformation으로 변경해 보겠습니다. 컬렉션 이름을 변경하는 쿼리는 다음과 같습니다.
> db.informationAboutDelete.renameCollection('deleteSomeInformation');
{ "ok" : 1 }결과로 { "ok" : 1 }이 반환되면 이름 변경이 정상적으로 완료된 것입니다.
변경 결과 확인
컬렉션 이름이 실제로 deleteSomeInformation으로 변경되었는지 확인하려면 아래 쿼리를 실행합니다.
> show collections;
실행 결과를 보면 기존의 informationAboutDelete가 사라지고, 새로운 이름인 deleteSomeInformation으로 표시되는 것을 확인할 수 있습니다.
copyThisCollectionToSampleDatabaseDemo deleteDocuments deleteDocumentsDemo deleteSomeInformation employee internalArraySizeDemo prettyDemo selectWhereInDemo sourceCollection updateInformation userInformation
참고 사항
renameCollection() 메서드는 동일한 데이터베이스 내에서만 작동합니다. 만약 다른 데이터베이스로 컬렉션을 이동하면서 이름을 변경하고 싶다면, 대상 데이터베이스를 지정하여 db.adminCommand({ renameCollection: '원본DB.컬렉션명', to: '대상DB.새컬렉션명' }) 형태로 실행해야 합니다. 또한 이미 같은 이름의 컬렉션이 존재하는 경우 에러가 발생하므로, 필요하다면 dropTarget: true 옵션을 추가하여 기존 컬렉션을 덮어쓸 수 있습니다.