MongoDB\Database::command()
定義
MongoDB\Database::command()
データベースでコマンドを実行します。 これは通常、ライブラリ内に対応するヘルパー メソッドがないコマンドを実行するために使用されます。
function command( array|object $command, array $options = [] ): MongoDB\Driver\Cursor
パラメーター
$command
: array|object- データベースコマンドドキュメント。
$options
: 配列必要なオプションを指定する配列。
Return Values
MongoDB\Driver\Cursor オブジェクト。
エラーと例外
MongoDB\Exception\InvalidArgumentException
は、パラメータまたはオプションの解析に関連するエラーの場合は です。
MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。
例
ほとんどのデータベースコマンドは結果ドキュメントを 1 つ返します。このドキュメントは、返されたカーソルを配列に変換し、その最初の要素にアクセスすることで取得できます。 次の例では、 pingコマンドを実行し、その結果ドキュメントを出力します。
$database = (new MongoDB\Client)->test; $cursor = $database->command(['ping' => 1]); var_dump($cursor->toArray()[0]);
出力は次のようになります。
object(MongoDB\Model\BSONDocument)#11 (1) { ["storage":"ArrayObject":private]=> array(1) { ["ok"]=> float(1) } }
一部のデータベースコマンドは、複数の結果を持つカーソルを返します。 The following example executes listCollections, which returns a cursor containing a result document for each collection in the test
database. この例は、説明のためのものであることに注意してください。アプリケーションでは通常、実際にはMongoDB\Database::listCollections()
が使用されます。
$database = (new MongoDB\Client)->test; $cursor = $database->command(['listCollections' => 1]); var_dump($cursor->toArray());
出力は次のようになります。
array(3) { [0]=> object(MongoDB\Model\BSONDocument)#11 (1) { ["storage":"ArrayObject":private]=> array(2) { ["name"]=> string(11) "restaurants" ["options"]=> object(MongoDB\Model\BSONDocument)#3 (1) { ["storage":"ArrayObject":private]=> array(0) { } } } } [1]=> object(MongoDB\Model\BSONDocument)#13 (1) { ["storage":"ArrayObject":private]=> array(2) { ["name"]=> string(5) "users" ["options"]=> object(MongoDB\Model\BSONDocument)#12 (1) { ["storage":"ArrayObject":private]=> array(0) { } } } } [2]=> object(MongoDB\Model\BSONDocument)#15 (1) { ["storage":"ArrayObject":private]=> array(2) { ["name"]=> string(6) "restos" ["options"]=> object(MongoDB\Model\BSONDocument)#14 (1) { ["storage":"ArrayObject":private]=> array(0) { } } } } }