PHP Conference Japan 2024

MongoDB\Driver\Manager 類別

(mongodb >=1.0.0)

簡介

MongoDB\Driver\Manager 類別是此擴充套件的主要進入點。它負責維護與 MongoDB 的連線(無論是獨立伺服器、複寫集還是分片叢集)。

在實例化 Manager 時不會建立與 MongoDB 的連線。這表示即使一個或多個 MongoDB 伺服器關閉,MongoDB\Driver\Manager 也始終可以被建構。

由於連線是延遲建立的,任何寫入或查詢都可能擲出連線例外。MongoDB 伺服器也可能在腳本的生命週期內變得不可用。因此,將所有 Manager 上的操作包裝在 try/catch 陳述式中非常重要。

類別概要

final class MongoDB\Driver\Manager {
/* 方法 */
最終公開函數 addSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void
最終公開函數 __construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)
最終公開函數 createClientEncryption(array $options): MongoDB\Driver\ClientEncryption
最終公開函數 executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, array|MongoDB\Driver\WriteConcern|null $options = null): MongoDB\Driver\WriteResult
最終公開函數 executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor
final public getServers():陣列
final public startSession(?陣列 $options = null):MongoDB\Driver\Session
}

範例

範例 #1 MongoDB\Driver\Manager::__construct() 基本範例

使用 var_dump() 顯示 MongoDB\Driver\Manager 物件將會印出關於管理器通常不會顯示的各種細節。這對於除錯驅動程式如何檢視您的 MongoDB 設定以及使用了哪些選項非常有用。

<?php

$manager
= new MongoDB\Driver\Manager('mongodb://127.0.0.1:27017');
var_dump($manager);

?>

上述範例將會輸出類似以下的內容

object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=>
  string(26) "mongodb://127.0.0.1:27017/"
  ["cluster"]=>
  array(0) {
  }
}

目錄

新增註記

使用者貢獻的註記 1 則註記

mike at eastghost dot com
6 年前
根據 Mongo 的說法,這個 (也就是 MongoDB\Driver\Manager) 是擴充功能的「進入點」

「此類別作為 MongoDB PHP 函式庫的進入點。它是連線到 MongoDB 伺服器或伺服器叢集的首選類別,並作為存取個別資料庫和集合的閘道。MongoDB\Client 類似於驅動程式的 MongoDB\Driver\Manager 類別,它是由 MongoDB\Driver\Manager 組成的。」

複製自:https://docs.mongodb.com/php-library/master/reference/class/MongoDBClient/

然而,在 php.net 上的「mongodb」文件與 mongo 網站上的「mongodb 驅動程式」文件的任何比較,都顯示出巨大且不斷變化的差異。
To Top