Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

db.collection.renameCollection()

이 페이지의 내용

  • 정의
  • 호환성
  • 행동
  • 예시

드라이버가 포함된 MongoDB

이 페이지에서는 mongosh 메서드를 설명합니다. MongoDB 드라이버에서 해당 메서드를 보려면 프로그래밍 언어의 해당 페이지를 참조하세요.

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.renameCollection(target, dropTarget)

컬렉션 의 이름을 변경합니다. renameCollection 데이터베이스 명령 에 대한 래퍼를 제공합니다.

Parameter
유형
설명
target
문자열
collection의 새 이름입니다. 문자열을 따옴표로 묶습니다. 이름 지정 제한 사항을 참조하세요.
dropTarget
부울
선택 사항. true인 경우 mongod에서 컬렉션 이름을 바꾸기 전에 renameCollectiontarget을 제거합니다. 기본값은 false입니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원 에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.

db.collection.renameCollection() 메서드는 지정된 컬렉션과 연결된 메타데이터를 변경하여 컬렉션 내에서 작동합니다.

추가 경고 및 메시지는 문서 renameCollection를 참조하세요.

경고

db.collection.renameCollection() 메서드와 renameCollection 명령은 열린 커서를 무효화합니다. 이는 소스나 대상 컬렉션에서 열린 기존 변경 스트림에 대한 무효화 이벤트를 생성하며 현재 이름이 변경된 컬렉션에서 데이터를 반환하는 중인 쿼리도 중단됩니다.

  • 이 메서드에는 다음과 같은 제한 사항이 있습니다.

    • db.collection.renameCollection() 컬렉션은 데이터베이스 간에 이동할 수 없습니다. 이러한 이름 변경 작업에는 renameCollection을 사용하세요.

    • 의 이름은 바꿀 수 없습니다.

    • db.collection.renameCollection() Time Series 컬렉션에서는 지원되지 않습니다.

    • 컬렉션 이름을 컬렉션 자체로 변경할 수는 없습니다. 컬렉션의 이름을 컬렉션 자체로 바꾸려고 하면 IllegalOperation 오류가 발생합니다.

버전 5.0에서 변경됨

샤딩된 클러스터에서 샤딩된 컬렉션이나 샤딩되지 않은 컬렉션의 이름을 변경할 때 소스 및 대상 컬렉션은 모든 샤드에서만 독점적으로 잠깁니다. 소스 및 대상 컬렉션에 대한 후속 작업은 이름 바꾸기 작업이 완료될 때까지 기다려야 합니다.

MongoDB 잠금에 대한 자세한 내용은 FAQ: 동시성을 참조하세요.

renameCollection()은 연산 기간 동안 소스 및 타깃 컬렉션에 대한 배타적 잠금을 획득합니다. 컬렉션에 대한 모든 후속 연산은 renameCollection()이 완료될 때까지 기다려야 합니다.

--oplog 옵션으로 시작된 mongodump는 덤프 프로세스 중에 클라이언트가 db.collection.renameCollection()을 실행하면 실패합니다. 자세한 내용은 mongodump.--oplog를 참조하세요.

컬렉션 객체에서 db.collection.renameCollection() 메서드를 호출합니다. 예시:

db.rrecord.renameCollection("record")

이 작업은 rrecord 컬렉션의 이름을 record(으)로 변경합니다. 대상 이름( record)이 기존 컬렉션의 이름이면 작업이 실패합니다.

돌아가기

db.collection.remove

이 페이지의 내용