MongoDB\Collection::rename()
New in version 1.10.
Definition
Parameters
$toCollectionName
: string- The new name of the collection.
$toDatabaseName
: string- The new database name of the collection. If a new database name is not specified, the database of the original collection will be used. If the new name specifies a different database, the command copies the collection to the new database and drops the source collection.
$options
: arrayAn array specifying the desired options.
NameTypeDescriptiondropTargetbooleanIftrue
, MongoDB will drop the target before renaming the collection. The default value isfalse
.commentmixedEnables users to specify an arbitrary comment to help trace the operation through the database profiler, currentOp output, and logs.
This option is available since MongoDB 4.4 and will result in an exception at execution time if specified for an older server version.
New in version 1.13.
sessionClient session to associate with the operation.
typeMaparrayThe type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the collection's type map.
This will be used for the returned command result document.
writeConcernWrite concern to use for the operation. Defaults to the collection's write concern.
It is not possible to specify a write concern for individual operations as part of a transaction. Instead, set the
writeConcern
option when starting the transaction.
Return Values
An array or object with the result document of the renameCollection command. The return type will depend on the
typeMap
option.
Errors/Exceptions
MongoDB\Exception\UnsupportedException
if options are used and
not supported by the selected server (e.g. collation
, readConcern
,
writeConcern
).
MongoDB\Exception\InvalidArgumentException
for errors related to
the parsing of parameters or options.
MongoDB\Driver\Exception\RuntimeException for other errors at the extension level (e.g. connection errors).
Example
The following operation renames the restaurants
collection in the test
database to places
:
$collection = (new MongoDB\Client)->test->restaurants; $result = $collection->rename('places'); var_dump($result);
The output would then resemble:
object(MongoDB\Model\BSONDocument)#9 (1) { ["storage":"ArrayObject":private]=> array(1) { ["ok"]=> float(1) } }
See Also
renameCollection command reference in the MongoDB manual