函数名:MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer()
适用版本:MongoDB 1.3.0 及以上版本
用法: MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer() 方法用于获取执行成功的命令所在的服务器。
语法:
public function getServer(): MongoDB\Driver\Server
参数: 该方法没有参数。
返回值: 该方法返回一个 MongoDB\Driver\Server 对象,表示执行成功的命令所在的服务器。
示例:
// 创建一个 MongoDB\Driver\Command 对象
$command = new MongoDB\Driver\Command([
'ping' => 1
]);
// 创建 MongoDB\Driver\Manager 对象
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
// 执行命令
try {
$cursor = $manager->executeCommand('test', $command);
$event = $cursor->getMonitoringEvents()[0];
$server = $event->getServer();
var_dump($server);
} catch (MongoDB\Driver\Exception\Exception $e) {
echo '执行命令失败: ' . $e->getMessage();
}
以上示例中,我们首先创建了一个 MongoDB\Driver\Command 对象,然后创建了一个 MongoDB\Driver\Manager 对象,使用该对象执行命令。如果命令执行成功,我们可以通过 $cursor->getMonitoringEvents()
方法获取监视事件数组,然后通过索引 [0]
获取第一个事件对象。最后,我们使用 getServer()
方法获取执行成功的命令所在的服务器,并将其打印出来。
请注意,以上示例仅演示了如何使用 getServer()
方法,实际应用中可能需要结合其他方法和功能进行更复杂的操作。