Docs Menu

MongoDB\Collection::rename()

バージョン 1.10 の新機能

MongoDB\Collection::rename()

コレクションの名前を変更します。

function rename(
string $toCollectionName,
?string $toDatabaseName = null,
array $options = []
): array|object
$toCollectionName : string
コレクションの新しい名前。
$toDatabaseName : string
コレクションの新しいデータベース名。 新しいデータベース名が指定されていない場合は、元のコレクションのデータベースが使用されます。 新しい名前で別のデータベースが指定されている場合、コマンドはコレクションを新しいデータベースにコピーし、ソース コレクションを削除します。
$options : 配列

必要なオプションを指定する配列。

名前
タイプ
説明

dropTarget

ブール値

trueの場合、MongoDB はコレクションの名前を変更する前にターゲットを削除します。 デフォルト値はfalseです。

comment

混合

データベースプロファイラcurrentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。

このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。

バージョン 1.13 の新機能

セッション

操作に関連付けるクライアント セッション。

typeMap

配列

型マップ カーソルに適用される 。これは、BSON ドキュメントが PHP 値に変換される方法を決定します。コレクションのタイプ マップがデフォルトになります。

これは返されたコマンドの結果ドキュメントに使用されます。

writeConcern

操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。

トランザクションの一部である個々の操作に対して書込み保証 (write concern) を指定することはできません。 代わりに 、トランザクションを開始する ときにwriteConcern オプションを設定します。

renameCollectionコマンドの結果ドキュメントを含む配列またはオブジェクト。 戻り値の型は、 typeMapオプションによって異なります。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collationreadConcernwriteConcern )。

パラメータまたはオプションの解析に関連するエラーは、 MongoDB\Exception\InvalidArgumentException

MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。

次の操作では、 testデータベース内のrestaurantsコレクションの名前が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)
}
}