Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 컬렉션 이름을 변경하는 방법 – renameCollection() 활용 가이드

MongoDB를 사용하다 보면 컬렉션(collection)의 이름을 변경해야 하는 경우가 종종 발생합니다. 이럴 때 renameCollection() 메서드를 사용하면 복잡한 데이터 마이그레이션 없이도 손쉽게 컬렉션 이름을 바꿀 수 있습니다. 이 글에서는 실제 예제와 함께 컬렉션 이름을 변경하는 전체 과정을 단계별로 알아보겠습니다.

renameCollection() 기본 문법

MongoDB에서 컬렉션 이름을 변경하는 기본 문법은 다음과 같습니다.

db.yourOldCollectionName.renameCollection("yourNewCollectionName");

기존 컬렉션 이름에 renameCollection()을 호출하고, 인자로 새로운 컬렉션 이름을 문자열로 넘겨주기만 하면 됩니다.

1단계: 테스트용 컬렉션 및 문서 생성

먼저 이름을 변경할 컬렉션을 만들고 문서(document)를 몇 개 삽입해 보겠습니다. 다음 쿼리를 순서대로 실행합니다.

> db.savingInformationDemo.insertOne({"StudentName":"Larry"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cb44da629b87623db1b07")
}
> db.savingInformationDemo.insertOne({"StudentName":"John"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cb45da629b87623db1b08")
}
> db.savingInformationDemo.insertOne({"StudentName":"Mike"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cb461a629b87623db1b09")
}
> db.savingInformationDemo.insertOne({"StudentName":"Sam"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cb465a629b87623db1b0a")
}

위 쿼리는 savingInformationDemo라는 컬렉션에 학생 이름이 담긴 문서 4개를 삽입합니다. 모든 삽입 작업이 성공적으로 처리되었음을 acknowledged: true 응답으로 확인할 수 있습니다.

2단계: 기존 문서 조회하기

컬렉션 이름을 변경하기 전에, find() 메서드를 사용해 저장된 모든 문서를 먼저 확인해 보겠습니다.

> db.savingInformationDemo.find().pretty();

위 쿼리를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

{ "_id" : ObjectId("5c9cb44da629b87623db1b07"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5c9cb45da629b87623db1b08"), "StudentName" : "John" }
{ "_id" : ObjectId("5c9cb461a629b87623db1b09"), "StudentName" : "Mike" }
{ "_id" : ObjectId("5c9cb465a629b87623db1b0a"), "StudentName" : "Sam" }

총 4개의 문서가 정상적으로 저장되어 있는 것을 확인했습니다.

3단계: 컬렉션 이름 변경하기

이제 renameCollection() 메서드를 사용해 컬렉션 이름을 savingInformationDemo에서 saveStudentInformation으로 변경해 보겠습니다.

> db.savingInformationDemo.renameCollection("saveStudentInformation");

실행 결과는 다음과 같습니다.

{ "ok" : 1 }

{ "ok" : 1 } 응답은 컬렉션 이름이 성공적으로 변경되었음을 의미합니다.

4단계: 새 컬렉션 이름으로 문서 확인하기

마지막으로, 변경된 컬렉션 이름으로 문서들이 그대로 유지되고 있는지 확인해 보겠습니다.

> db.saveStudentInformation.find();

실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5c9cb44da629b87623db1b07"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5c9cb45da629b87623db1b08"), "StudentName" : "John" }
{ "_id" : ObjectId("5c9cb461a629b87623db1b09"), "StudentName" : "Mike" }
{ "_id" : ObjectId("5c9cb465a629b87623db1b0a"), "StudentName" : "Sam" }

새로운 컬렉션 이름인 saveStudentInformation으로 조회했을 때 기존 문서 4개가 그대로 조회되는 것을 확인할 수 있습니다. 이처럼 renameCollection()은 데이터를 복사하지 않고 컬렉션의 메타데이터만 수정하기 때문에 매우 빠르게 동작한다는 장점이 있습니다.