MongoDB\Database::renameCollection()
Novidade na versão 1.10.
Definição
Parâmetros
$fromCollectionName
: string- O nome da collection para renomear.
$toCollectionName
: string- O novo nome da coleção.
$toDatabaseName
: string- O novo nome do banco de dados da collection. Se um novo nome de banco de dados não for especificado, o banco de dados atual será usado. Se o novo nome especificar um banco de dados diferente, o comando copiará a collection para o novo banco de dados e descartará a collection de origem.
$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãocommentmistoPermite que os usuários especifiquem um comentário arbitrário para ajudar a rastrear a operação por meio do profiler do banco de dados, saída currentOp e registros.
Esta opção está disponível desde o MongoDB 4.4 e resultará em uma exceção no momento da execução se for especificada para uma versão mais antiga do servidor.
Novidade na versão 1.13.
dropTargetbooleanoSetrue
, o MongoDB descartará o destino antes de renomear a collection. O valor padrão éfalse
.sessionSessão do cliente a ser associada à operação.
typeMaparrayO mapa de tipos aplicar aos cursores, o que determina como os documentos BSON são convertidos em valores PHP. O padrão é o mapa de tipos do banco de dados.
Isso será usado para o documento de resultado do comando retornado.
writeConcernWrite concern a ser usada para a operação. O padrão é a preocupação de gravação do banco de dados.
Return Values
Uma array ou objeto com o documento de resultado do comando renameCollection . O tipo de retorno depende da opção typeMap
.
Erros/exceções
MongoDB\Exception\UnsupportedException
se as opções forem usadas e não aceitas pelo servidor selecionado (p. ex., collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Exemplo
O exemplo a seguir renomeia a collection restaurants
no reconhecimento de data center test
para places
:
$db = (new MongoDB\Client)->test; $result = $db->renameCollection('restaurants', 'places'); var_dump($result);
A saída seria então semelhante a:
object(MongoDB\Model\BSONDocument)#8 (1) { ["storage":"ArrayObject":private]=> array(1) { ["ok"]=> float(1) } }
Veja também
referência do comando renameCollection no manual do MongoDB