文档菜单
文档首页
/ / /
PHP库手册
/ /

MongoDB\数据库::command()

在本页

  • 定义
  • 参数
  • 返回值
  • 错误/异常
  • 示例
  • 另请参阅
MongoDB\Database::command()

执行命令。这通常用于执行库中没有相应辅助方法的命令。

function command(
array|object $command,
array $options = []
): MongoDB\Driver\Cursor
$command : array|object
数据库命令文档。
$options : array

指定所需选项的数组。

名称
类型
描述
readPreference

读取偏好用于操作。默认为数据库的读取偏好。

会话

与操作关联的客户端会话。

版本1.3.

typeMap
数组

类型映射应用于游标,它决定了BSON文档如何转换为PHP值。默认为数据库的类型映射。

一个MongoDB\Driver\Cursor对象。

MongoDB\Exception\InvalidArgumentException 与参数或选项解析相关的错误。

MongoDB\Driver\Exception\RuntimeException 与扩展级别的其他错误相关(例如连接错误)。

大多数数据库命令返回单个结果文档,可以通过将返回的游标转换为数组并访问其第一个元素来获取。以下示例执行了一个ping命令并打印其结果文档

<?php
$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)
}
}

一些数据库命令返回包含多个结果的游标。以下示例执行了 listCollections,该命令返回一个游标,其中包含 test 数据库中每个集合的结果文档。请注意,此示例仅用于说明;在实际应用中,通常会使用 MongoDB\Database::listCollections()

<?php
$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) {
}
}
}
}
}

返回

aggregate()