函数名:MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId()
适用版本:MongoDB PHP 扩展版本 1.5.0+
函数用法:该函数用于获取与当前命令相关的服务器连接ID。
示例:
<?php
// 创建 MongoDB 客户端
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// 创建监视器
$monitoring = new MongoDB\Driver\Monitoring\CommandSubscriber();
// 监听命令开始事件
$monitoring->addSubscriber(new MongoDB\Driver\Monitoring\CommandStartedEvent());
// 注册监视器
$manager->subscribe($monitoring);
// 执行 MongoDB 命令
$command = new MongoDB\Driver\Command(['ping' => 1]);
$cursor = $manager->executeCommand('db_name', $command);
// 遍历命令开始事件
foreach ($monitoring->getCommandStartedEvents() as $event) {
// 获取服务器连接ID
$serverConnectionId = $event->getServerConnectionId();
echo "Server Connection ID: " . $serverConnectionId . "\n";
}
?>
以上示例中,我们首先创建了一个 MongoDB 客户端,并创建了一个监视器对象。然后,我们将 CommandStartedEvent
作为订阅器添加到监视器中。接下来,我们执行了一个 MongoDB 命令,并使用 getCommandStartedEvents()
方法获取所有命令开始事件。在遍历事件时,我们调用 getServerConnectionId()
方法获取与当前命令相关的服务器连接ID,并将其打印出来。
请注意,为了使用 CommandStartedEvent
,你需要安装 MongoDB PHP 扩展的版本 1.5.0 或更高版本。