Docs Menu

MongoDB\Collection::rename()

버전 1.10에 추가 되었습니다.

MongoDB\Collection::rename()

collection의 이름을 변경합니다.

function rename(
string $toCollectionName,
?string $toDatabaseName = null,
array $options = []
): array|object
$toCollectionName : 문자열
collection의 새 이름입니다.
$toDatabaseName : 문자열
collection의 새 데이터베이스 이름입니다. 새 데이터베이스 이름을 지정하지 않으면 원본 collection의 데이터베이스가 사용됩니다. 새 이름이 다른 데이터베이스를 지정하는 경우 명령은 collection을 새 데이터베이스에 복사하고 소스 collection을 삭제합니다.
$options : 배열

원하는 옵션을 지정하는 배열입니다.

이름
유형
설명

dropTarget

부울

true 인 경우 MongoDB는 collection 이름을 바꾸기 전에 대상을 삭제합니다. 기본값은 false 입니다.

comment

혼합

사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다.

이 옵션은 MongoDB 4.4부터 사용할 수 있으며 이전 서버 버전에 대해 지정된 경우 실행 시 예외가 발생합니다.

버전 1.13에 새로 추가되었습니다.

Session

작업과 연결할 클라이언트 세션입니다.

typeMap

배열

커서에 적용할 타입 맵으로, BSON 문서가 PHP 값으로 변환되는 방식을 결정합니다. 기본값은 컬렉션의 타입 맵입니다.

이는 반환된 명령 결과 문서에 사용됩니다.

쓰기 고려

작업에 사용할 고려를 씁니다 . 기본값은 컬렉션의 쓰기 고려입니다.

트랜잭션의 일부로 개별 작업에 대한 쓰기 고려를 지정할 수 없습니다. 대신 트랜잭션을시작할 때 writeConcern 옵션을 설정합니다.

renameCollection 명령의 결과 문서가 포함된 배열 또는 객체입니다. 반환 유형은 typeMap 옵션에 따라 달라집니다.

옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException입니다(예: collation, readConcern, writeConcern).

매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우 MongoDB\Exception\InvalidArgumentException 입니다.

MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).

다음 작업은 test 데이터베이스의 restaurants collection 이름을 places 로 변경합니다.

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$result = $collection->rename('places');
var_dump($result);

이 경우 출력은 다음과 유사합니다:

object(MongoDB\Model\BSONDocument)#9 (1) {
["storage":"ArrayObject":private]=>
array(1) {
["ok"]=>
float(1)
}
}