# php_manual

id: Memcached::addServer
type: function
doc:
<comment>Description:</comment>
  サーバーをサーバープールに追加する
  
  <strong>Memcached::addServer()</strong> は、指定したサーバーをサーバープールに追加します。 この時点では、サーバーへ
  の接続は確立されません。しかし、一貫性のあるキー分散オプションを
  (<info>Memcached::DISTRIBUTION_CONSISTENT</info> あるいは <info>Memcached::OPT_LIBKETAMA_COMPATIBLE</info> で) 指定した場合
  は、 内部データ構造のうちの一部が更新されます。 したがって、もし複数のサーバーを追加したい場合は、
  Memcached::addServers を使用するほうがよいでしょう。 その場合、更新は一度しか発生しません。
  
  同じサーバーがサーバープール内で複数回あらわれることもあります。 重複チェックはしていないからで
  す。これは望ましい状態ではありません。 その代わりに <strong>$weight</strong> オプションを使用して、 このサーバーを
  選択する重みを増やします。

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>    memcache サーバーのホスト名。ホスト名が無効な場合は、データ関連の操作の結果コード
                   に <info>Memcached::RES_HOST_LOOKUP_FAILURE</info> が設定されます。 バージョン 2.0.0b1 以降で
                   は、このパラメータにソケットのパス (<return>/path/to/memcached.sock</return> など) を指定すると、
                   UNIX ドメインソケットを使えるようになりました。 このとき、<strong>$port</strong> には <return>0</return> を設定する
                   必要があります。
  <info>int</info>     <strong>$port</strong>    memcache が動作しているポート。通常、これは <return>11211</return> となります。 バージョン 2.0.0b1
                   以降では、UNIX ドメインソケットを利用する際には <return>0</return> を設定します。
  <info>int</info>     <strong>$weight</strong>  プール内の全サーバーにおけるそのサーバーの重み。 これで、何か操作をしたときにその
                   サーバーが選択される確率を制御します。 これは、一貫性のある分散オプションを使って
                   いる場合にのみ使用でき、 通常はそのサーバー上で memcache が使用できるメモリの量に
                   対応したものとなります。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::addServers
   * Memcached::resetServerList


id: Memcached::addServers
type: function
doc:
<comment>Description:</comment>
  複数のサーバーをサーバープールに追加する
  
  <strong>Memcached::addServers()</strong> は、 <strong>$servers</strong> をサーバープールに追加します。 <strong>$servers</strong> の各エントリは、
  個々のサーバーのホスト名、ポート、重み (オプション) を含む配列となります。 この時点では、サーバー
  への接続は確立されません。
  
  同じサーバーがサーバープール内で複数回あらわれることもあります。 重複チェックはしていないからで
  す。これは望ましい状態ではありません。 その代わりに <strong>$weight</strong> オプションを使用して、 このサーバーを
  選択する重みを増やします。

<comment>Param:</comment>
  <info></info>  <strong>$array</strong>  プールに追加するサーバーの配列。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::addServer
   * Memcached::resetServerList


id: Memcached::append
type: function
doc:
<comment>Description:</comment>
  データを既存のアイテムに追記する
  
  <strong>Memcached::append()</strong> は、指定した文字列 <strong>$value</strong> を既存のアイテムの値として追記します。 <strong>$value</strong> を文字
  列に強制変換する理由は、 異なる型を追記した場合の挙動が定義されていないからです。
  
  <info>Memcached::OPT_COMPRESSION</info> が有効になっている場合は、 この操作は失敗して警告が発せられます。 すで
  に圧縮されている可能性のあるデータに圧縮したデータを追記することはできないからです。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    値の格納先のキー。
  <info>string</info>  <strong>$value</strong>  追記する文字列。

<comment>Return:</comment>
  <info>bool|null</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 圧縮が有効になっている場合は
             <info>null</info> を返します。

<comment>See Also:</comment>
   * Memcached::appendByKey
   * Memcached::prepend


id: Memcached::appendByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーでデータを既存のアイテムに追記する
  
  <strong>Memcached::appendByKey()</strong> は機能的に Memcached::append と同等です。しかし、自由形式の <strong>$server_key</strong>
  を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>string</info>  <strong>$value</strong>       追記する文字列。

<comment>Return:</comment>
  <info>bool|null</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 圧縮が有効になっている場合は
             <info>null</info> を返します。

<comment>See Also:</comment>
   * Memcached::append
   * Memcached::prepend


id: Memcached::cas
type: function
doc:
<comment>Description:</comment>
  アイテムを比較して入れ替える
  
  <strong>Memcached::cas()</strong> は「チェックして設定」という操作を行います。 アイテムが格納されるのは、クライアン
  トが最後にアイテムを取得して以降に 他のクライアントによるそのアイテムの更新がなかった場合のみで
  す。 チェックは <strong>$cas_token</strong> パラメータを使用して行います。 これは一意な 64 ビットの値で、既存のアイ
  テムに対して memcache が割り当てます。 このトークンを取得する方法については Memcached::get* メソッ
  ドのドキュメントを参照ください。 PHP の integer 型の範囲を超えるため、トークンは float 型であらわ
  されることに注意しましょう。

<comment>Param:</comment>
  <info>string|int|float</info>  <strong>$cas_token</strong>   既存のアイテムに割り当てたれた一意な値。memcache が生成します。
  <info>string</info>            <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>             <strong>$value</strong>       格納する値。
  <info>int</info>               <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参
                                 照ください。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 格納しようとしているアイテムが最後
        の取得以降に更新されている場合、 Memcached::getResultCode は <info>Memcached::RES_DATA_EXISTS</info> を返
        します。

<comment>See Also:</comment>
   * Memcached::casByKey


id: Memcached::casByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーでアイテムを比較して入れ替える
  
  <strong>Memcached::casByKey()</strong> は機能的に Memcached::cas と同等です。しかし、自由形式の <strong>$server_key</strong> を使用
  して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。 これは、関連するキーを特定のサーバーに置
  き続けたいときなどに便利です。

<comment>Param:</comment>
  <info>string|int|float</info>  <strong>$cas_token</strong>   既存のアイテムに割り当てたれた一意な値。memcache が生成します。
  <info>string</info>            <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                                 アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュ
                                 して、どの memcached サーバーとやりとりするのか選びます。
                                 これで、関連するアイテムを一つのサーバーにまとめられるようになり、
                                 マルチ操作の効率が上がります。
  <info>string</info>            <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>             <strong>$value</strong>       格納する値。
  <info>int</info>               <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参
                                 照ください。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 格納しようとしているアイテムが最後
        の取得以降に更新されている場合、 Memcached::getResultCode は <info>Memcached::RES_DATA_EXISTS</info> を返
        します。

<comment>See Also:</comment>
   * Memcached::cas


id: Memcached::decrement
type: function
doc:
<comment>Description:</comment>
  数値アイテムの値を減らす
  
  <strong>Memcached::decrement()</strong> は、数値アイテムの値を <strong>$offset</strong> で指定しただけ減らします。 アイテムの値が数
  値でない場合はエラーとなります。 操作後の値が 0 より小さくなる場合は、新しい値は 0 となります。 ア
  イテムが存在しない場合、<strong>Memcached::decrement()</strong> は値を <strong>$initial_value</strong> に設定します。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>            減らしたいアイテムのキー。
  <info>int</info>     <strong>$offset</strong>         値を減らしたい量。
  <info>int</info>     <strong>$initial_value</strong>  そのアイテムが存在しない場合に設定する値。
  <info>int</info>     <strong>$expiry</strong>         そのアイテムに設定する有効期限。

<comment>Return:</comment>
  <info>int|false</info>  成功した場合にアイテムの新しい値、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::increment
   * Memcached::incrementByKey
   * Memcached::decrementByKey


id: Memcached::decrementByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバー上にある数値アイテムの値を減らす
  
  <strong>Memcached::decrementByKey()</strong> は、数値アイテムの値を <strong>$offset</strong> で指定しただけ減らします。 アイテムの値
  が数値でない場合はエラーとなります。 操作後の値が 0 より小さくなる場合は、新しい値は 0 となりま
  す。 アイテムが存在しない場合、<strong>Memcached::decrementByKey()</strong> は値を <strong>$initial_value</strong> に設定します。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>     値を格納したりデータを取得したりするサーバーを表すキー。
                          アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、ど
                          の memcached サーバーとやりとりするのか選びます。
                          これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操
                          作の効率が上がります。
  <info>string</info>  <strong>$key</strong>            減らしたいアイテムのキー。
  <info>int</info>     <strong>$offset</strong>         値を減らしたい量。
  <info>int</info>     <strong>$initial_value</strong>  そのアイテムが存在しない場合に設定する値。
  <info>int</info>     <strong>$expiry</strong>         そのアイテムに設定する有効期限。

<comment>Return:</comment>
  <info>int|false</info>  成功した場合にアイテムの新しい値、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::increment
   * Memcached::incrementByKey


id: Memcached::delete
type: function
doc:
<comment>Description:</comment>
  アイテムを削除する
  
  <strong>$key</strong> をサーバーから削除します。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   削除したいキー。
  <info>int</info>     <strong>$time</strong>  サーバーがアイテムを削除するまでの待ち時間。
                 
                 memcached 1.3.0 (2009年リリース) 以降は、 この機能はサポートされなくなりました。 ゼ
                 ロでない <strong>$time</strong> を渡すと、 削除は失敗します。 Memcached::getResultCode は
                 <info>MEMCACHED_INVALID_ARGUMENTS</info> を返します。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 キーが存在しない場合、
        Memcached::getResultCode は <info>Memcached::RES_NOTFOUND</info> を返します。

<comment>See Also:</comment>
   * Memcached::deleteByKey
   * Memcached::deleteMulti


id: Memcached::deleteByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーからアイテムを削除する
  
  <strong>Memcached::deleteByKey()</strong> は機能的に Memcached::delete と同等です。しかし、自由形式の <strong>$server_key</strong>
  を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         削除したいキー。
  <info>int</info>     <strong>$time</strong>        サーバーがアイテムを削除するまでの待ち時間。
                       
                       memcached 1.3.0 (2009年リリース) 以降は、 この機能はサポートされなくなりまし
                       た。 ゼロでない <strong>$time</strong> を渡すと、 削除は失敗します。 Memcached::getResultCode
                       は <info>MEMCACHED_INVALID_ARGUMENTS</info> を返します。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 キーが存在しない場合、
        Memcached::getResultCode は <info>Memcached::RES_NOTFOUND</info> を返します。

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteMulti
   * Memcached::deleteMultiByKey


id: Memcached::deleteMulti
type: function
doc:
<comment>Description:</comment>
  複数のアイテムを削除する
  
  キーの配列 <strong>$keys</strong> をサーバーから削除します。

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>  削除したいキー。
  <info>int</info>    <strong>$time</strong>  サーバーがアイテムを削除するまでの待ち時間。
                
                memcached 1.3.0 (2009年リリース) 以降は、 この機能はサポートされなくなりました。 ゼ
                ロでない <strong>$time</strong> を渡すと、 削除は失敗します。 Memcached::getResultCode は
                <info>MEMCACHED_INVALID_ARGUMENTS</info> を返します。

<comment>Return:</comment>
  <info>array</info>  <strong>$keys</strong> をキーとした配列を返します。 それぞれの要素には、 対応するキーが削除された場合に <info>true</info>
         が入ります。 対応するキーの削除が失敗した場合、 定数 <info>Memcached::RES_*</info> のうちの一つが入りま
         す。
         
         Memcached::getResultCode は、 最後に行われた削除操作の結果コードを返します。 つまり、<strong>$keys</strong>
         の最後の要素に対する削除操作の結果を返します。

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteByKey
   * Memcached::deleteMultiByKey


id: Memcached::deleteMultiByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーから複数のアイテムを削除する
  
  <strong>Memcached::deleteMultiByKey()</strong> は機能的に Memcached::deleteMulti と同等です。しかし、自由形式の
  <strong>$server_key</strong> を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>array</info>   <strong>$keys</strong>        削除したいキー。
  <info>int</info>     <strong>$time</strong>        サーバーがアイテムを削除するまでの待ち時間。
                       
                       memcached 1.3.0 (2009年リリース) 以降は、 この機能はサポートされなくなりまし
                       た。 ゼロでない <strong>$time</strong> を渡すと、 削除は失敗します。 Memcached::getResultCode
                       は <info>MEMCACHED_INVALID_ARGUMENTS</info> を返します。

<comment>Return:</comment>
  <info>array</info>  <strong>$keys</strong> をキーとした配列を返します。 それぞれの要素には、 対応するキーが削除された場合に <info>true</info>
         が入ります。 対応するキーの削除が失敗した場合、 定数 <info>Memcached::RES_*</info> のうちの一つが入りま
         す。
         
         Memcached::getResultCode は、 最後に行われた削除操作の結果コードを返します。 つまり、<strong>$keys</strong>
         の最後の要素に対する削除操作の結果を返します。

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteByKey
   * Memcached::deleteMulti


id: Memcached::fetch
type: function
doc:
<comment>Description:</comment>
  次の結果を取得する
  
  <strong>Memcached::fetch()</strong> は、直近のリクエストから次の結果を取得します。

<comment>Return:</comment>
  <info>array|false</info>  次の結果、あるいは <info>false</info> を返します。 結果セットをすべて処理し終えた場合、
               Memcached::getResultCode は <info>Memcached::RES_END</info> を返します。

<comment>See Also:</comment>
   * Memcached::fetchAll
   * Memcached::getDelayed


id: Memcached::fetchAll
type: function
doc:
<comment>Description:</comment>
  残りのすべての結果を取得する
  
  <strong>Memcached::fetchAll()</strong> は、 直近のリクエストで残っているすべての結果を返します。

<comment>Return:</comment>
  <info>array|false</info>  結果、失敗した場合に <info>false</info> を返します。 必要に応じて Memcached::getResultCode を使用
               しましょう。

<comment>See Also:</comment>
   * Memcached::fetch
   * Memcached::getDelayed


id: Memcached::flush
type: function
doc:
<comment>Description:</comment>
  キャッシュ内のすべてのアイテムを無効にする
  
  <strong>Memcached::flush()</strong> は、既存のキャッシュ内のすべてのアイテムを即時 (デフォルト) あるいは指定した
  <strong>$delay</strong> の後に無効化します。 無効化した後は、取得系のコマンドには一切アイテムを返さなくなります
  (<strong>Memcached::flush()</strong> がアイテムを無効化したあとで同名のキーを改めて格納した場合は別です)。 既存のア
  イテムが確保していたメモリはその時点では開放されません。 新しいアイテムが格納されるたびに徐々に開
  放されていきます。

<comment>Param:</comment>
  <info>int</info>  <strong>$delay</strong>  アイテムの無効化までに待機する秒数。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。


id: Memcached::get
type: function
doc:
<comment>Description:</comment>
  アイテムを取得する
  
  <strong>Memcached::get()</strong> は、キー <strong>$key</strong> に格納されたアイテムを返します。 アイテムが存在して <strong>$get_flags</strong> に
  <info>Memcached::GET_EXTENDED</info> が指定されていた場合には、 そのアイテムの CAS トークンの値も返します。CAS
  トークンの使用法は Memcached::cas を参照ください。Read-through キャッシュコールバック は <strong>$cache_cb</strong>
  パラメータで指定します。

<comment>Param:</comment>
  <info>string</info>         <strong>$key</strong>        取得したいアイテムのキー。
  <info>callable|null</info>  <strong>$cache_cb</strong>   Read-through キャッシュコールバック、あるいは <info>null</info>。
  <info>int</info>            <strong>$get_flags</strong>  返される結果を制御するフラグ。<info>Memcached::GET_EXTENDED</info> を指定すると、CAS
                             トークンも返すようになります。

<comment>Return:</comment>
  <info>mixed</info>  キャッシュに格納された値、あるいは <info>false</info> を返します。 <strong>$get_flags</strong> に <info>Memcached::GET_EXTENDED</info>
         が設定されている場合は、キャッシュに格納された値と CAS トークンを含む配列を返します。 キー
         が存在しない場合、 Memcached::getResultCode は <info>Memcached::RES_NOTFOUND</info> を返します。

<comment>See Also:</comment>
   * Memcached::getByKey
   * Memcached::getMulti
   * Memcached::getDelayed


id: Memcached::getAllKeys
type: function
doc:
<comment>Description:</comment>
  すべてのサーバーのキーを取得する
  
  <strong>Memcached::getAllKeys()</strong> は、 個々の memcache サーバーに問い合わせて、その時点で格納されているすべ
  てのキーの配列を取得します。 これはアトミックな操作ではないので、ある時点でのすべてのキーのスナッ
  プショットを真の意味で取得したとは言えません。 また、memcache はすべてのキーを返すことを保証しない
  ので、 すべてのキーを取得したものとみなすこともできません。
  
  このメソッドはデバッグ目的に使うものです。 よって、大規模な運用環境で使うべきではありません。

<comment>Return:</comment>
  <info>array|false</info>  成功した場合は全サーバーに格納されているキー、失敗した場合に <info>false</info> を返します。


id: Memcached::getByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーからアイテムを取得する
  
  <strong>Memcached::getByKey()</strong> は機能的に Memcached::get と同等です。しかし、自由形式の <strong>$server_key</strong> を使用
  して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>         <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                              アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュし
                              て、どの memcached サーバーとやりとりするのか選びます。
                              これで、関連するアイテムを一つのサーバーにまとめられるようになり、マル
                              チ操作の効率が上がります。
  <info>string</info>         <strong>$key</strong>         取得したいアイテムのキー。
  <info>callable|null</info>  <strong>$cache_cb</strong>    Read-through キャッシュコールバック、あるいは <info>null</info>。
  <info>int</info>            <strong>$get_flags</strong>   戻り値を制御するフラグ。 <info>Memcached::GET_EXTENDED</info> を渡すと、CASトークン
                              を返します。

<comment>Return:</comment>
  <info>mixed</info>  キャッシュに格納された値、あるいは <info>false</info> を返します。 キーが存在しない場合、
         Memcached::getResultCode は <info>Memcached::RES_NOTFOUND</info> を返します。

<comment>See Also:</comment>
   * Memcached::get
   * Memcached::getMulti
   * Memcached::getDelayed


id: Memcached::getDelayed
type: function
doc:
<comment>Description:</comment>
  複数のアイテムを要求する
  
  <strong>Memcached::getDelayed()</strong> は、<strong>$keys</strong> 配列で指定した複数のキーのアイテムに対するリクエストを memcache
  に発行します。 このメソッドはサーバーからの応答を待たずにすぐに結果を返します。 アイテムを使用した
  くなったときには Memcached::fetch あるいは Memcached::fetchAll をコールします。 <strong>$with_cas</strong> が true
  の場合は CAS トークンの値もリクエストします。
  
  結果を明示的に取得するのではなく、result コールバック を <strong>$value_cb</strong> パラメータで指定することもでき
  ます。

<comment>Param:</comment>
  <info>array</info>          <strong>$keys</strong>      要求するキーの配列。
  <info>bool</info>           <strong>$with_cas</strong>  CAS トークンの値も要求するかどうか。
  <info>callable|null</info>  <strong>$value_cb</strong>  result コールバック、あるいは <info>null</info>。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::getDelayedByKey
   * Memcached::fetch
   * Memcached::fetchAll


id: Memcached::getDelayedByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーに複数のアイテムを要求する
  
  <strong>Memcached::getDelayedByKey()</strong> は機能的に Memcached::getDelayed と同等です。しかし、自由形式の
  <strong>$server_key</strong> を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>         <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                              アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュし
                              て、どの memcached サーバーとやりとりするのか選びます。
                              これで、関連するアイテムを一つのサーバーにまとめられるようになり、マル
                              チ操作の効率が上がります。
  <info>array</info>          <strong>$keys</strong>        要求するキーの配列。
  <info>bool</info>           <strong>$with_cas</strong>    CAS トークンの値も要求するかどうか。
  <info>callable|null</info>  <strong>$value_cb</strong>    result コールバック、あるいは <info>null</info>。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::getDelayed
   * Memcached::fetch
   * Memcached::fetchAll


id: Memcached::getMulti
type: function
doc:
<comment>Description:</comment>
  複数のアイテムを取得する
  
  <strong>Memcached::getMulti()</strong> は Memcached::get と似ていますが、ひとつのキーのアイテムを取得するのではなく
  <strong>$keys</strong> 配列で指定したキー群から複数のアイテムを取得します。  v3.0 より前のバージョンでは、二番目の
  パラメータ cas_tokens</strong> が存在して、見つかったアイテムの CAS トークンが書き込まれるようになっていま
  した。 この cas_tokens</strong> パラメータは memcached 拡張モジュールの v3.0 で削除されました。 その代わり
  に追加されたのが <info>Memcached::GET_EXTENDED</info> フラグで、 これを <strong>$get_flags</strong> に指定すれば CAS トークンを
  得られます。
  
  v3.0 より前のバージョンでは、二番目のパラメータ cas_tokens</strong> が存在して、見つかったアイテムの CAS
  トークンが書き込まれるようになっていました。 この cas_tokens</strong> パラメータは memcached 拡張モジュール
  の v3.0 で削除されました。 その代わりに追加されたのが <info>Memcached::GET_EXTENDED</info> フラグで、 これを
  <strong>$get_flags</strong> に指定すれば CAS トークンを得られます。
  
  <strong>$get_flags</strong> パラメータを使用して、 <strong>Memcached::getMulti()</strong> 用の追加のオプションを設定します。
  <info>Memcached::GET_PRESERVE_ORDER</info> は、要求したのと同じ順番でキーが返されることを保証します。
  <info>Memcached::GET_EXTENDED</info> は、CAS トークンも含めて返すようにします。

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>       取得したいキーの配列。
  <info>int</info>    <strong>$get_flags</strong>  取得操作のオプション。

<comment>Return:</comment>
  <info>array|false</info>  見つかったアイテムの配列、失敗した場合に <info>false</info> を返します。 必要に応じて
               Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::getMultiByKey
   * Memcached::get
   * Memcached::getDelayed


id: Memcached::getMultiByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーから複数のアイテムを取得する
  
  <strong>Memcached::getMultiByKey()</strong> は機能的に Memcached::getMulti と同等です。しかし、自由形式の
  <strong>$server_key</strong> を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>array</info>   <strong>$keys</strong>        取得したいキーの配列。
  <info>int</info>     <strong>$get_flags</strong>   取得操作のフラグ。

<comment>Return:</comment>
  <info>array|false</info>  見つかったアイテムの配列、失敗した場合に <info>false</info> を返します。 必要に応じて
               Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::getMulti
   * Memcached::get
   * Memcached::getDelayed


id: Memcached::getOption
type: function
doc:
<comment>Description:</comment>
  Memcached のオプションの値を取得する
  
  このメソッドは、Memcached のオプションの値を返します。 libmemcached で定義されているオプションに対
  応するものもあれば、 この拡張モジュールに固有のものもあります。詳細な情報は Memcached 定数 を参照
  ください。

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  <return>Memcached::OPT_*</return> 定数のいずれか。

<comment>Return:</comment>
  <info>mixed</info>  要求されたオプションの値、あるいはエラー時に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOption
   * Memcached 定数


id: Memcached::getResultCode
type: function
doc:
<comment>Description:</comment>
  直近の操作の結果コードを返す
  
  <strong>Memcached::getResultCode()</strong> は <info>Memcached::RES_*</info> 定数のいずれかを返します。 これは、直近に実行された
  Memcached メソッドの結果を表します。

<comment>Return:</comment>
  <info>int</info>  直近の Memcached 操作の結果コードを返します。


id: Memcached::getResultMessage
type: function
doc:
<comment>Description:</comment>
  最後に実行した操作の結果を説明したメッセージを返す。
  
  <strong>Memcached::getResultMessage()</strong>メソッドは、最後に実行した Memcached クラスのメソッドの結果コードの内
  容を説明した文字列を返します。

<comment>Return:</comment>
  <info>string</info>  最後に実行した Memcached クラスの操作結果を説明したメッセージ


id: Memcached::getServerByKey
type: function
doc:
<comment>Description:</comment>
  キーとサーバーを関連付ける
  
  <strong>Memcached::getServerByKey()</strong> は、 <strong>Memcached::*ByKey()</strong> 系の操作で指定された <strong>$server_key</strong> に対応する
  サーバーを返します。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。

<comment>Return:</comment>
  <info>array|false</info>  成功した場合に配列を返します。この配列には <return>host</return>、 <return>port</return> そして <return>weight</return> の三つのキーが含
               まれます。 失敗した場合に <info>false</info> を返します 必要に応じて Memcached::getResultCode を使
               用しましょう。


id: Memcached::getServerList
type: function
doc:
<comment>Description:</comment>
  プール内のサーバーの一覧を取得する
  
  <strong>Memcached::getServerList()</strong> は、 サーバープール内のすべてのサーバーの一覧を返します。

<comment>Return:</comment>
  <info>array</info>  サーバープール内のすべてのサーバーの一覧を返します。


id: Memcached::getStats
type: function
doc:
<comment>Description:</comment>
  サーバープールの統計情報を取得する
  
  <strong>Memcached::getStats()</strong> は、 すべての memcache サーバーの状態を含む配列を返します。 その詳細について
  は、memcache プロトコル の仕様を参照ください。

<comment>Param:</comment>
  <info>string|null</info>  <strong>$type</strong>  取得する統計情報のタイプ

<comment>Return:</comment>
  <info>array|false</info>  サーバーの統計情報の配列を返します。サーバーごとにひとつのエントリとなります。 失敗し
               た場合に <info>false</info> を返します


id: Memcached::getVersion
type: function
doc:
<comment>Description:</comment>
  サーバープールのバージョン情報を取得する
  
  <strong>Memcached::getVersion()</strong> は、全ての利用可能な memcached サーバーのバージョン情報を含んだ配列を返し
  ます。

<comment>Return:</comment>
  <info>array|false</info>  memcached サーバーのバージョン情報の配列。サーバーひとつにつき配列の要素一つが割り当
               てられます。


id: Memcached::increment
type: function
doc:
<comment>Description:</comment>
  数値アイテムの値を増やす
  
  <strong>Memcached::increment()</strong> は、数値アイテムの値を <strong>$offset</strong> で指定しただけ増やします。 アイテムの値が数
  値でない場合はエラーとなります。 アイテムが存在しない場合、<strong>Memcached::increment()</strong> は値を
  <strong>$initial_value</strong> に設定します。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>            増やしたいアイテムのキー。
  <info>int</info>     <strong>$offset</strong>         値を増やしたい量。
  <info>int</info>     <strong>$initial_value</strong>  そのアイテムが存在しない場合に設定する値。
  <info>int</info>     <strong>$expiry</strong>         そのアイテムに設定する有効期限。

<comment>Return:</comment>
  <info>int|false</info>  成功した場合にアイテムの新しい値、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::decrementByKey
   * Memcached::incrementByKey


id: Memcached::incrementByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバー上にある数値アイテムの値を増やす
  
  <strong>Memcached::incrementByKey()</strong> は、数値アイテムの値を <strong>$offset</strong> で指定しただけ増やします。 アイテムの値
  が数値でない場合はエラーとなります。 アイテムが存在しない場合、<strong>Memcached::incrementByKey()</strong> は値を
  <strong>$initial_value</strong> に設定します。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>     値を格納したりデータを取得したりするサーバーを表すキー。
                          アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、ど
                          の memcached サーバーとやりとりするのか選びます。
                          これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操
                          作の効率が上がります。
  <info>string</info>  <strong>$key</strong>            増やしたいアイテムのキー。
  <info>int</info>     <strong>$offset</strong>         値を増やしたい量。
  <info>int</info>     <strong>$initial_value</strong>  そのアイテムが存在しない場合に設定する値。
  <info>int</info>     <strong>$expiry</strong>         そのアイテムに設定する有効期限。

<comment>Return:</comment>
  <info>int|false</info>  成功した場合にアイテムの新しい値、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::decrementByKey
   * Memcached::increment


id: Memcached::isPersistent
type: function
doc:
<comment>Description:</comment>
  memcache への接続で持続的接続を使っているかどうかを調べる
  
  <strong>Memcached::isPersistent()</strong> は、 memcache サーバーへの接続が持続的接続かどうかを調べます。

<comment>Return:</comment>
  <info>bool</info>  Memcache インスタンスが持続的接続を使っている場合に <info>true</info>、それ以外の場合に <info>false</info> を返しま
        す。

<comment>See Also:</comment>
   * Memcached::isPristine


id: Memcached::isPristine
type: function
doc:
<comment>Description:</comment>
  直近に作られたインスタンスかどうかを調べる
  
  <strong>Memcached::isPristine()</strong> は、その Memcache インスタンスが直近に作られたものかどうかを調べます。

<comment>Return:</comment>
  <info>bool</info>  直近に作られたインスタンスである場合に <info>true</info>、それ以外の場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::isPersistent


id: Memcached::prepend
type: function
doc:
<comment>Description:</comment>
  既存のアイテムの前にデータを付加する
  
  <strong>Memcached::prepend()</strong> は、指定した文字列 <strong>$value</strong> を既存のアイテムの前に付加します。 <strong>$value</strong> を文字列
  に強制変換する理由は、 異なる型を付加した場合の挙動が定義されていないからです。
  
  <info>Memcached::OPT_COMPRESSION</info> が有効になっている場合は、 この操作は失敗して警告が発せられます。 すで
  に圧縮されている可能性のあるデータの先頭に圧縮したデータを付加することはできないからです。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    データを先頭に付加したいアイテムのキー。
  <info>string</info>  <strong>$value</strong>  先頭に付加する文字列。

<comment>Return:</comment>
  <info>bool|null</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 圧縮が有効になっている場合は
             <info>null</info> を返します。

<comment>See Also:</comment>
   * Memcached::prependByKey
   * Memcached::append


id: Memcached::prependByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーで既存のアイテムの前にデータを付加する
  
  <strong>Memcached::prependByKey()</strong> は機能的に Memcached::prepend と同等です。しかし、自由形式の <strong>$server_key</strong>
  を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         データを先頭に付加したいアイテムのキー。
  <info>string</info>  <strong>$value</strong>       先頭に付加する文字列。

<comment>Return:</comment>
  <info>bool|null</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 圧縮が有効になっている場合は
             <info>null</info> を返します。

<comment>See Also:</comment>
   * Memcached::prepend
   * Memcached::append


id: Memcached::quit
type: function
doc:
<comment>Description:</comment>
  開いている接続を閉じる
  
  <strong>Memcached::quit()</strong> は、memcache サーバーとの接続をすべて閉じます。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。


id: Memcached::replace
type: function
doc:
<comment>Description:</comment>
  既存のキーのアイテムを入れ替える
  
  <strong>Memcached::replace()</strong> は Memcached::set と同等ですが、キー <strong>$key</strong> がサーバー上にない場合は失敗しま
  す。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>   <strong>$value</strong>       格納する値。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 キーが存在しない場合、
        Memcached::getResultCode は <info>Memcached::RES_NOTSTORED</info> を返します。

<comment>See Also:</comment>
   * Memcached::replaceByKey
   * Memcached::set
   * Memcached::add


id: Memcached::replaceByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーで既存のキーのアイテムを入れ替える
  
  <strong>Memcached::replaceByKey()</strong> は機能的に Memcached::replace と同等です。しかし、自由形式の <strong>$server_key</strong>
  を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。 これは、関連するキーを特定のサー
  バーに置き続けたいときなどに便利です。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>   <strong>$value</strong>       格納する値。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 キーが存在しない場合、
        Memcached::getResultCode は <info>Memcached::RES_NOTSTORED</info> を返します。

<comment>See Also:</comment>
   * Memcached::replace
   * Memcached::set
   * Memcached::add


id: Memcached::resetServerList
type: function
doc:
<comment>Description:</comment>
  サーバーリストからすべてのサーバーを消去する
  
  <strong>Memcached::resetserverlist()</strong> は、 サーバーリストからすべての memcache サーバーを削除し、サーバーリ
  ストを空にします。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::addServer
   * Memcached::addServers


id: Memcached::set
type: function
doc:
<comment>Description:</comment>
  アイテムを格納する
  
  <strong>Memcached::set()</strong> は、 指定したキー <strong>$key</strong> で memcache サーバー上に <strong>$value</strong> を格納します。 <strong>$expiration</strong>
  パラメータで、 この値をいつ有効期限切れにするのかを制御することができます。
  
  値に指定できるのは、リソース型以外の PHP の任意の型です。 リソース型はシリアライズすることができな
  いため、使用することができません。 <info>Memcached::OPT_COMPRESSION</info> オプションをオンにすると、 シリアラ
  イズしたデータを格納する前に圧縮を行います。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>   <strong>$value</strong>       格納する値。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::setByKey
   * Memcached::add
   * Memcached::replace


id: Memcached::setByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーにアイテムを格納する
  
  <strong>Memcached::setByKey()</strong> は機能的に Memcached::set と同等です。しかし、自由形式の <strong>$server_key</strong> を使用
  して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。 これは、関連するキーを特定のサーバーに置
  き続けたいときなどに便利です。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>mixed</info>   <strong>$value</strong>       格納する値。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::set


id: Memcached::setMulti
type: function
doc:
<comment>Description:</comment>
  複数のアイテムを格納する
  
  <strong>Memcached::setMulti()</strong> は Memcached::set と似ていますが、ひとつのキーのアイテムではなく <strong>$items</strong> で設
  定した複数のアイテムに対して動作します。 有効期限 <strong>$expiration</strong> は、すべてのアイテムに同時に適用され
  ます。

<comment>Param:</comment>
  <info>array</info>  <strong>$items</strong>       サーバーに格納する キー/値 のペアの配列。
  <info>int</info>    <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                      い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::setMultiByKey
   * Memcached::set


id: Memcached::setMultiByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバーで複数のアイテムを格納する
  
  <strong>Memcached::setMultiByKey()</strong> は機能的に Memcached::setMulti と同等です。しかし、自由形式の
  <strong>$server_key</strong> を使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。 これは、関連するキーを
  特定のサーバーに置き続けたいときなどに便利です。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>array</info>   <strong>$items</strong>       サーバーに格納する キー/値 のペアの配列。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::setMulti
   * Memcached::set


id: Memcached::setOption
type: function
doc:
<comment>Description:</comment>
  Memcached のオプションの値を設定する
  
  このメソッドは、Memcached のオプションの値を設定します。 libmemcached で定義されているオプションに
  対応するものもあれば、 この拡張モジュールに固有のものもあります。

<comment>Param:</comment>
  <info>int</info>    <strong>$option</strong>  定数 <return>Memcached::OPT_*</return> のうちのひとつ。 詳細は Memcached 定数 を参照ください。
  <info>mixed</info>  <strong>$value</strong>   設定する値
                  
                  以下のオプションの値は、定数で指定する必要があります。 <return>Memcached::OPT_HASH</return> には
                  <return>Memcached::HASH_*</return> の値を指定しなければなりません。 <return>Memcached::OPT_DISTRIBUTION</return> に
                  は <return>Memcached::DISTRIBUTION_*</return> の値を指定しなければなりません。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOptions
   * Memcached 定数


id: Memcached::setOptions
type: function
doc:
<comment>Description:</comment>
  Memcached のオプションの値を設定する
  
  <strong>Memcached::setOptions()</strong> は Memcached::setOption と似ていますが、設定するオプションの配列を受け取り
  ます。

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  オプションの連想配列。設定するオプションを連想配列のキーに、 そしてそのオプション
                   の新しい値を連想配列の値に設定します。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOption
   * Memcached 定数


id: Memcached::setSaslAuthData
type: function
doc:
<comment>Description:</comment>
  認証用の資格情報を設定する
  
  <strong>Memcached::setSaslAuthData()</strong> は、ユーザー名とパスワードを設定します。 これらを、memcache サーバー
  での SASL 認証に使います。
  
  このメソッドを使えるのは、memcached 拡張モジュールを SASL サポートつきでビルドしたときだけです。
  その方法については Memcached のインストール/設定 を参照ください。

<comment>Param:</comment>
  <info>string</info>  <strong>$username</strong>  認証で使うユーザー名。
  <info>string</info>  <strong>$password</strong>  認証で使うパスワード。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。


id: Memcached::touch
type: function
doc:
<comment>Description:</comment>
  アイテムに新しい有効期限を設定する
  
  <strong>Memcached::touch()</strong> は、指定したキーに新しい有効期限を設定します。

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::touchByKey


id: Memcached::touchByKey
type: function
doc:
<comment>Description:</comment>
  指定したサーバー上のアイテムに新しい有効期限を設定する
  
  <strong>Memcached::touchByKey()</strong> は機能的に Memcached::touch と同等です。しかし、自由形式の <strong>$server_key</strong> を
  使用して、 <strong>$key</strong> を特定のサーバーに関連付けることができます。

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  値を格納したりデータを取得したりするサーバーを表すキー。
                       アイテムの実際のキーをハッシュするかわりにサーバーのキーをハッシュして、どの
                       memcached サーバーとやりとりするのか選びます。
                       これで、関連するアイテムを一つのサーバーにまとめられるようになり、マルチ操作
                       の効率が上がります。
  <info>string</info>  <strong>$key</strong>         値の格納先のキー。
  <info>int</info>     <strong>$expiration</strong>  期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照くださ
                       い。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。 必要に応じて
        Memcached::getResultCode を使用しましょう。

<comment>See Also:</comment>
   * Memcached::touch


id: MessageFormatter
type: class
doc:
<comment>Description:</comment>
  MessageFormatter は、言語に依存しない連結されたメッセージを作成するための具象クラスです。 このクラ
  スのメソッドを使用して、 エンドユーザー向けのすべてのメッセージを作成します。
  
  MessageFormatter クラスは、プログラムから渡したさまざまな部品 (テキスト、数値、日付など) を組み合
  わせてメッセージを作成します。 MessageFormatter クラスでは、 プログラム側が部品の順序を気にする必
  要はありません。 このクラスでは、各部品に対して書式指定を使用し、 リソースバンドル内のひとつの文字
  列にメッセージをまとめます。 たとえば、 "Finished printing x out of y files..." のようなメッセージ
  があった場合に MessageFormatter は各翻訳に対して柔軟な表示を行います。
  
  これまでは、エンドユーザー向けのメッセージは文章として作成し、 文字列で処理していました。 これは地
  域化の際にさまざまな問題を引き起こしていました。 文章の構造や単語の並び順、そして数値の書式などは
  各言語によってさまざまに異なっているからです。 言語に依存しない方法でメッセージを作成するには、
  メッセージの各部分を分割し、そこにデータへのキーを指定するようにします。 このキーを使用して、
  MessageFormatter クラスはメッセージの各部分を連結します。 そして地域化して適切な書式にした文字列を
  エンドユーザー向けに表示します。
  
  MessageFormatter はオブジェクトのセットを受け取ってそれをフォーマットし、 フォーマットした文字列を
  適切な位置に埋め込みます。 MessageFormatter のフォーマットを選択することで、 数値にあわせて複数形
  を選択することができます。 一般的には、メッセージのフォーマットはリソースから取得し、 引数は実行時
  に動的に与えるようになります。


id: MessageFormatter::__construct
type: function
doc:
<comment>Description:</comment>
  新しいメッセージフォーマッタを作成する
  
  オブジェクト指向型 (メソッド)
  
  オブジェクト指向型 (コンストラクタ):
  
  手続き型
  
  新しい Message Formatter を作成します。

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   引数のフォーマットに用いるロケール。
  <info>string</info>  <strong>$pattern</strong>  引数を埋め込むパターン文字列。 パターンには、'アポストロフィに優しい' 構文を使用
                    します。 詳細は Quoting/Escaping を参照ください。

<comment>Return:</comment>
  <info>MessageFormatter|null</info>  フォーマッタオブジェクトを返します。 失敗した場合は <info>null</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_format()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::format
type: function
doc:
<comment>Description:</comment>
  メッセージをフォーマットする
  
  オブジェクト指向型
  
  手続き型
  
  ロケールの規則にしたがってデータをフォーマット文字列に埋め込み、 メッセージをフォーマットします。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。
  <info>array</info>             <strong>$values</strong>     フォーマット文字列に埋め込む引数。

<comment>Return:</comment>
  <info>string|false</info>  フォーマットした文字列を返します。 あるいはエラーが発生した場合は <info>false</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_format_message()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::formatMessage
type: function
doc:
<comment>Description:</comment>
  手早くメッセージをフォーマットする
  
  オブジェクト指向型
  
  手続き型
  
  明示的にフォーマッタオブジェクトを作成せずに、 手早くメッセージをフォーマットする関数です。 この関
  数を使用するのは、 一度きりのフォーマット処理であってパラメータや状態を保持する必要がない場合か、
  追加のコンテキストを ICU に直接与えることで、出力をカスタマイズしたい場合です。

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   ロケールに依存する部分をフォーマットする際に使用するロケール。
  <info>string</info>  <strong>$pattern</strong>  使用するパターン文字列。 パターンには、'アポストロフィに優しい' 構文を使用しま
                    す。 詳細は Quoting/Escaping を参照ください。
  <info>array</info>   <strong>$values</strong>   フォーマット文字列に埋め込む値の配列。

<comment>Return:</comment>
  <info>string|false</info>  フォーマットしたパターン文字列を返します。 エラーが発生した場合は <info>false</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::getErrorCode
type: function
doc:
<comment>Description:</comment>
  直近の操作のエラーコードを取得する
  
  オブジェクト指向型
  
  手続き型
  
  直近の操作のエラーコードを取得します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>msgfmt_get_error_message()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: MessageFormatter::getErrorMessage
type: function
doc:
<comment>Description:</comment>
  直近の操作のエラーテキストを取得する
  
  オブジェクト指向型
  
  手続き型
  
  直近の操作のエラーテキストを取得します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。

<comment>Return:</comment>
  <info>string</info>  直近のエラーの説明を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: MessageFormatter::getLocale
type: function
doc:
<comment>Description:</comment>
  フォーマッタを作成した際のロケールを取得する
  
  オブジェクト指向型
  
  手続き型
  
  フォーマッタを作成した際のロケールを取得します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  フォーマッタリソース。

<comment>Return:</comment>
  <info>string</info>  ロケール名を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>


id: MessageFormatter::getPattern
type: function
doc:
<comment>Description:</comment>
  フォーマッタが使用するパターンを取得する
  
  オブジェクト指向型
  
  手続き型
  
  フォーマッタが使用するパターンを取得します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。

<comment>Return:</comment>
  <info>string|false</info>  このメッセージフォーマッタのパターン文字列を返します。 失敗した場合に <info>false</info> を返しま
                す

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_set_pattern()</strong>


id: MessageFormatter::parse
type: function
doc:
<comment>Description:</comment>
  パターンを使用して入力文字列をパースする
  
  オブジェクト指向型
  
  手続き型
  
  入力文字列をパースし、取り出した項目を配列で返します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。
  <info>string</info>            <strong>$string</strong>     パースする文字列。

<comment>Return:</comment>
  <info>array|false</info>  取り出した項目を含む配列を返します。 エラーが発生した場合は <info>false</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_format()</strong>
   * <strong>msgfmt_parse_message()</strong>


id: MessageFormatter::parseMessage
type: function
doc:
<comment>Description:</comment>
  手早く入力文字列をパースする
  
  オブジェクト指向型
  
  手続き型
  
  明示的にフォーマッタオブジェクトを作成せずに、 手早く入力文字列をパースします。 この関数を使用する
  のは、 一度きりのフォーマット処理であってパラメータや状態を保持する必要がない場合です。

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   ロケールに依存する部分をパースする際に使用するロケール。
  <info>string</info>  <strong>$pattern</strong>  <strong>$message</strong> のパースに使うパターン。
  <info>string</info>  <strong>$message</strong>  パースする文字列。<strong>$pattern</strong> を満たします。

<comment>Return:</comment>
  <info>array|false</info>  取り出した項目を含む配列を返します。 エラーが発生した場合は <info>false</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_format_message()</strong>
   * <strong>msgfmt_parse()</strong>


id: MessageFormatter::setPattern
type: function
doc:
<comment>Description:</comment>
  フォーマッタが使用するパターンを設定する
  
  オブジェクト指向型
  
  手続き型
  
  フォーマッタが使用するパターンを設定します。

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  メッセージのフォーマッタ。
  <info>string</info>            <strong>$pattern</strong>    このメッセージフォーマッタで使用するパターン文字列。 パターンには、
                                'アポストロフィに優しい' 構文を使用します。 詳細は Quoting/Escaping
                                を参照ください。

<comment>Return:</comment>
  <info>bool</info>  成功した場合に <info>true</info> を、失敗した場合に <info>false</info> を返します。

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_get_pattern()</strong>


id: MongoDB\BSON\Binary
type: class
doc:
<comment>Description:</comment>
  BSON type for binary data (i.e. array of bytes). Binary values also have a subtype, which is used
  to indicate what kind of data is in the byte array. Subtypes from zero to 127 are predefined or
  reserved. Subtypes from 128-255 are user-defined.


id: MongoDB\BSON\Binary::TYPE_ENCRYPTED
type: constant
doc:
<comment>Description:</comment>
  Encrypted value. This subtype is used for client-side encryption.


id: MongoDB\BSON\Binary::TYPE_MD5
type: constant
doc:
<comment>Description:</comment>
  MD5 hash. When using this type, the Binary's data should be 16 bytes in length.


id: MongoDB\BSON\Binary::TYPE_OLD_BINARY
type: constant
doc:
<comment>Description:</comment>
  Generic binary data (deprecated in favor of <info>MongoDB\BSON\Binary::TYPE_GENERIC</info>).


id: MongoDB\BSON\Binary::TYPE_OLD_UUID
type: constant
doc:
<comment>Description:</comment>
  Universally unique identifier (deprecated in favor of <info>MongoDB\BSON\Binary::TYPE_UUID</info>). When using
  this type, the Binary's data should be 16 bytes in length.
  
  Historically, other drivers encoded values with this type based on their language conventions
  (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling
  for encoding or decoding data with this type.


id: MongoDB\BSON\Binary::TYPE_SENSITIVE
type: constant
doc:
<comment>Description:</comment>
  Sensitive data. This subtype is used for sensitive data that should be excluded from server-side
  logging when possible.


id: MongoDB\BSON\Binary::TYPE_USER_DEFINED
type: constant
doc:
<comment>Description:</comment>
  User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and
  255 are user-defined and may be used for anything.


id: MongoDB\BSON\Binary::TYPE_UUID
type: constant
doc:
<comment>Description:</comment>
  Universally unique identifier. When using this type, the Binary's data should be 16 bytes in
  length and encoded according to RFC 4122.


id: MongoDB\BSON\Binary::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Binary

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Binary data.
  <info>int</info>     <strong>$type</strong>  Unsigned 8-bit integer denoting the data's type. Defaults to
                 <info>MongoDB\BSON\Binary::TYPE_GENERIC</info> if not specified.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Binary::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's data
  
  このメソッドは次のメソッドのエイリアスです。 MongoDB\BSON\Binary::getData.

<comment>Return:</comment>
  <info>string</info>  Returns the Binary's data.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getData
   * BSON Types


id: MongoDB\BSON\Binary::getData
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's data

<comment>Return:</comment>
  <info>string</info>  Returns the Binary's data.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Binary::getType
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's type

<comment>Return:</comment>
  <info>int</info>  Returns the Binary's type.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Binary::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Binary</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Binary::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Binary

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Binary</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Binary::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Binary

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Binary</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\BinaryInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Binary</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\BinaryInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's data
  
  このメソッドは次のメソッドのエイリアスです。 MongoDB\BSON\BinaryInterface::getData.

<comment>Return:</comment>
  <info>string</info>  Returns the BinaryInterface's data.

<comment>See Also:</comment>
   * MongoDB\BSON\BinaryInterface::getData
   * MongoDB\BSON\Binary::__toString


id: MongoDB\BSON\BinaryInterface::getData
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's data

<comment>Return:</comment>
  <info>string</info>  Returns the BinaryInterface's data.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getData


id: MongoDB\BSON\BinaryInterface::getType
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's type

<comment>Return:</comment>
  <info>int</info>  Returns the BinaryInterface's type.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getType


id: MongoDB\BSON\DBPointer
type: class
doc:
<comment>Description:</comment>
  BSON type for the "DBPointer" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON DBPointer type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\DBPointer::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new DBPointer (unused)
  
  <class>MongoDB\BSON\DBPointer</class> objects are created through conversion from a deprecated BSON type and
  cannot be constructed directly.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\DBPointer::__toString
type: function
doc:
<comment>Description:</comment>
  Returns an empty string

<comment>Return:</comment>
  <info>string</info>  Returns an empty string.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\DBPointer::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\DBPointer</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\DBPointer::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a DBPointer

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\DBPointer</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\DBPointer::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\DBPointer::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a DBPointer

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\DBPointer</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\DBPointer::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128
type: class
doc:
<comment>Description:</comment>
  BSON type for the Decimal128 floating-point format, which supports numbers with up to 34 decimal
  digits (i.e. significant digits) and an exponent range of −6143 to +6144.
  
  Unlike the double BSON type (i.e. <info>float</info> in PHP), which only stores an approximation of the decimal
  values, the decimal data type stores the exact value. For example, <return>MongoDB\BSON\Decimal128('9.99')</return>
  has a precise value of 9.99 where as a double 9.99 would have an approximate value of
  9.9900000000000002131628….
  
  <class>MongoDB\BSON\Decimal128</class> is only compatible with MongoDB 3.4+. Attempting to use the BSON type with
  an earlier version of MongoDB will result in an error.


id: MongoDB\BSON\Decimal128::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Decimal128
  
  <class>MongoDB\BSON\Decimal128</class> is only compatible with MongoDB 3.4+. Attempting to use the BSON type with
  an earlier version of MongoDB will result in an error.

<comment>Param:</comment>
  <info>string</info>  <strong>$value</strong>  A decimal string.

<comment>See Also:</comment>
   * Decimal128 floating-point format
   * BSON Types


id: MongoDB\BSON\Decimal128::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Decimal128

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Decimal128.

<comment>See Also:</comment>
   * Decimal128 floating-point format
   * BSON Types


id: MongoDB\BSON\Decimal128::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Decimal128</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Decimal128::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Decimal128

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Decimal128</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Decimal128

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Decimal128</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128Interface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Decimal128</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\Decimal128Interface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Decimal128Interface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Decimal128Interface.

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::__toString


id: MongoDB\BSON\Document
type: class
doc:
<comment>Description:</comment>
  Represents a BSON document. This class is used when reading data as raw BSON and cannot be
  modified.


id: MongoDB\BSON\Document::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON document (unused)
  
  <class>MongoDB\BSON\Document</class> objects are created through static factory methods and cannot be
  instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromBSON
   * MongoDB\BSON\Document::fromJSON
   * BSON Types


id: MongoDB\BSON\Document::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this BSON Document

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this document as BSON.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Document::fromBSON
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from a BSON string

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  A string containing a document in BSON format.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromJSON
   * BSON Types


id: MongoDB\BSON\Document::fromJSON
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from a JSON string
  
  Converts an extended JSON string to its BSON representation.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>  JSON value to be converted.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromBSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * MongoDB Extended JSON
   * BSON Types


id: MongoDB\BSON\Document::fromPHP
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from PHP data

<comment>Param:</comment>
  <info>object|array</info>  <strong>$value</strong>  A PHP object or array containing the document. When passing an array with
                        numeric keys, the numeric values are converted to strings and used as
                        document keys.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromBSON
   * MongoDB\BSON\Document::fromJSON
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * BSON Types


id: MongoDB\BSON\Document::get
type: function
doc:
<comment>Description:</comment>
  Returns the value of a key in the document

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key to retrieve from the document.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value associated with the given key. If the key is not present in the document,
         an exception is thrown.
         
         When encountering a value encoded as 64-bit integer in the BSON document, the return value
         of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::has
   * BSON Types


id: MongoDB\BSON\Document::getIterator
type: function
doc:
<comment>Description:</comment>
  Returns an iterator for the BSON document

<comment>Return:</comment>
  <info>MongoDB\BSON\Iterator</info>  Returns a <class>MongoDB\BSON\Iterator</class> instance that can be used to iterate over
                         all keys in the document.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Document::has
type: function
doc:
<comment>Description:</comment>
  Returns whether a key is present in the document

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key to look for in the document.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the key is present in the document and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::get
   * BSON Types


id: MongoDB\BSON\Document::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Document

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Document</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Document::toCanonicalExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Canonical Extended JSON representation of the BSON document
  
  Converts the BSON document to its Canonical Extended JSON representation. The canonical format
  prefers type fidelity at the expense of concise output and is most suited for producing output
  that can be converted back to BSON without any loss of type information (e.g. numeric types will
  remain differentiated).

<comment>Return:</comment>
  <info>string</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toRelaxedExtendedJSON
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * Extended JSON Specification
   * BSON Types


id: MongoDB\BSON\Document::toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of the BSON document
  
  Unserializes the BSON document to its PHP representation. The <strong>$typeMap</strong> paramater may be used to
  control the PHP types used for converting BSON arrays and documents (both root and embedded).
  
  BSON documents can technically contain duplicate keys because documents are stored as a list of
  key-value pairs; however, applications should refrain from generating documents with duplicate
  keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have
  duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The decoded PHP value.
                
                When encountering a value encoded as 64-bit integer in the BSON document, the return
                value of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\toPHP()</strong>
   * BSON Types


id: MongoDB\BSON\Document::toRelaxedExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Relaxed Extended JSON representation of the BSON document
  
  Converts the BSON document to its Relaxed Extended JSON representation. The relaxed format prefers
  use of JSON type primitives at the expense of type fidelity and is most suited for producing
  output that can be easily consumed by web APIs and humans.

<comment>Return:</comment>
  <info>string</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toCanonicalExtendedJSON
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * Extended JSON Specification
   * BSON Types


id: MongoDB\BSON\Document::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a BSON document

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Document</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Document::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Int64
type: class
doc:
<comment>Description:</comment>
  BSON type for a 64-bit integer. When decoding BSON to PHP data, this class is used when a 64-bit
  integer cannot be represented as a PHP integer on 32-bit platforms. These objects support
  overloaded arithmetic, bitwise, and comparison operators.
  
  When working with raw BSON data through the <class>MongoDB\BSON\Document</class>, <class>MongoDB\BSON\PackedArray</class>, and
  <class>MongoDB\BSON\Iterator</class> classes, any 64-bit integer will be returned as an instance of this class,
  regardless of platform and whether the value can be represented as a PHP integer. This ensures
  that values can be roundtripped without changing the type.
  
  During BSON encoding, objects of this class will convert back to a 64-bit integer type, even when
  the value would fit in a 32-bit integer. This allows explicitly storing values as 64-bit integers
  in BSON.


id: MongoDB\BSON\Int64::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Int64
  
  Creates a new <class>MongoDB\BSON\Int64</class> instance for the given integer value.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$value</strong>  The value to assign to the <class>Int64</class> instance. This value can be provided as an
                      <info>int</info> or <info>string</info>, the latter being required on 32-bit platforms to represent
                      64-bit values.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Int64::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Int64

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Int64.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Int64::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Int64</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> function, which
         uses the canonical extended JSON format. This differs from other BSON classes, which use
         the driver-specific legacy extended JSON format (<strong>MongoDB\BSON\toJSON()</strong>), in order to ensure
         that the 64-bit integer value is correctly represented on 32-bit platforms.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Int64::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize an Int64

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Int64</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Int64::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Int64::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize an Int64

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Int64</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Int64::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Iterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON iterator (unused)
  
  <class>MongoDB\BSON\Iterator</class> objects are created by calling MongoDB\BSON\Document::getIterator or
  MongoDB\BSON\PackedArray::getIterator and cannot be instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::getIterator
   * MongoDB\BSON\PackedArray::getIterator
   * BSON Types


id: MongoDB\BSON\Iterator::current
type: function
doc:
<comment>Description:</comment>
  Returns the current element

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the current element.
         
         When encountering a value encoded as 64-bit integer in the BSON structure, the return value
         of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * Iterator::current


id: MongoDB\BSON\Iterator::key
type: function
doc:
<comment>Description:</comment>
  Returns the key of the current element

<comment>Return:</comment>
  <info>string|int</info>  Returns the key of the current element. When iterating a BSON document, the key will
              always be a <info>string</info>. When iterating a BSON array, the key will be an <info>int</info>.

<comment>See Also:</comment>
   * Iterator::key


id: MongoDB\BSON\Iterator::next
type: function
doc:
<comment>Description:</comment>
  Advances the iterator to next element

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Iterator::next


id: MongoDB\BSON\Iterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewinds the Iterator to the first element

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Iterator::rewind


id: MongoDB\BSON\Iterator::valid
type: function
doc:
<comment>Description:</comment>
  Checks if current position is valid

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the current iterator position is valid, <info>false</info> otherwise.

<comment>See Also:</comment>
   * Iterator::valid


id: MongoDB\BSON\Javascript
type: class
doc:
<comment>Description:</comment>
  BSON type for Javascript code. An optional scope document may be specified that maps identifiers
  to values and defines the scope in which the code should be evaluated by the server.
  
  This BSON type is mainly used when executing database commands that take a Javascript function as
  a parameter, such as mapReduce.


id: MongoDB\BSON\Javascript::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Javascript

<comment>Param:</comment>
  <info>string</info>             <strong>$code</strong>   Javascript code.
  <info>array|object|null</info>  <strong>$scope</strong>  Javascript scope.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Javascript::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's code
  
  このメソッドは次のメソッドのエイリアスです。 MongoDB\BSON\Javascript::getCode.

<comment>Return:</comment>
  <info>string</info>  Returns the Javascript's code.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getCode
   * BSON Types


id: MongoDB\BSON\Javascript::getCode
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's code

<comment>Return:</comment>
  <info>string</info>  Returns the Javascript's code.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Javascript::getScope
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's scope document

<comment>Return:</comment>
  <info>object|null</info>  Returns the Javascript's scope document, or <info>null</info> if the is no scope.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Javascript::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Javascript</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Javascript::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Javascript

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Javascript</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Javascript::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Javascript

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Javascript</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\JavascriptInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Javascript</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\JavascriptInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's code
  
  このメソッドは次のメソッドのエイリアスです。 MongoDB\BSON\JavascriptInterface::getCode.

<comment>Return:</comment>
  <info>string</info>  Returns the JavascriptInterface's code.

<comment>See Also:</comment>
   * MongoDB\BSON\JavascriptInterface::getCode
   * MongoDB\BSON\Javascript::__toString


id: MongoDB\BSON\JavascriptInterface::getCode
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's code

<comment>Return:</comment>
  <info>string</info>  Returns the JavascriptInterface's code.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getCode


id: MongoDB\BSON\JavascriptInterface::getScope
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's scope document

<comment>Return:</comment>
  <info>object|null</info>  Returns the JavascriptInterface's scope document.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getScope


id: MongoDB\BSON\MaxKey
type: class
doc:
<comment>Description:</comment>
  Special BSON type which compares higher than all other possible BSON element values.
  
  This is an internal MongoDB type used for indexing and sharding.


id: MongoDB\BSON\MaxKey::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new MaxKey

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\MaxKey::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\MaxKey</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\MaxKey::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a MaxKey

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\MaxKey</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\MaxKey::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MaxKey::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a MaxKey

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\MaxKey</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\MaxKey::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MaxKeyInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\MaxKey</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\MinKey
type: class
doc:
<comment>Description:</comment>
  Special BSON type which compares lower than all other possible BSON element values.
  
  This is an internal MongoDB type used for indexing and sharding.


id: MongoDB\BSON\MinKey::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new MinKey

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\MinKey::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\MinKey</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\MinKey::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a MinKey

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\MinKey</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\MinKey::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MinKey::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a MinKey

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\MinKey</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\MinKey::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MinKeyInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\MinKey</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\ObjectId
type: class
doc:
<comment>Description:</comment>
  BSON type for an ObjectId. The value consists of 12 bytes, where the first four bytes are a
  timestamp that reflect the ObjectId's creation. Specifically, the value consists of:
  
  a 4-byte value representing the seconds since the Unix epoch,
  
  a 5-byte random number unique to a machine and process, and
  
  a 3-byte counter, starting with a random value.
  
  In MongoDB, each document stored in a collection requires a unique <return>_id</return> field that acts as a
  primary key. If an inserted document omits the <return>_id</return> field, the driver automatically generates an
  ObjectId for the <return>_id</return> field.
  
  Using ObjectIds for the <return>_id</return> field provides the following additional benefits:
  
  The creation time of the ObjectId may be accessed using the MongoDB\BSON\ObjectId::getTimestamp
  method.
  
  Sorting on an <return>_id</return> field that stores ObjectId values is roughly equivalent to sorting by creation
  time.


id: MongoDB\BSON\ObjectId::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new ObjectId

<comment>Param:</comment>
  <info>string|null</info>  <strong>$id</strong>  A 24-character hexadecimal string. If not provided, the driver will generate an
                    ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the hexidecimal representation of this ObjectId

<comment>Return:</comment>
  <info>string</info>  Returns the hexidecimal representation of this ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this ObjectId
  
  The timestamp component of an ObjectId is its most significant 32 bits, which denotes the number
  of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian
  byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\ObjectId</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\ObjectId::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize an ObjectId

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\ObjectId</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\ObjectId::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize an ObjectId

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\ObjectId</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\ObjectIdInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\ObjectId</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\ObjectIdInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the hexidecimal representation of this ObjectIdInterface

<comment>Return:</comment>
  <info>string</info>  Returns the hexidecimal representation of this ObjectIdInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::__toString


id: MongoDB\BSON\ObjectIdInterface::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this ObjectIdInterface

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this ObjectIdInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::getTimestamp


id: MongoDB\BSON\PackedArray
type: class
doc:
<comment>Description:</comment>
  Represents a BSON array. This class is used when reading data as raw BSON and cannot be modified.


id: MongoDB\BSON\PackedArray::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON array (unused)
  
  <class>MongoDB\BSON\PackedArray</class> objects are created through static factory methods and cannot be
  instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::fromPHP
   * BSON Types


id: MongoDB\BSON\PackedArray::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this BSON array

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this array as BSON.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\PackedArray::fromPHP
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON array instance from PHP data

<comment>Param:</comment>
  <info>array</info>  <strong>$value</strong>  The PHP array to convert to a BSON array. The array must be a list (i.e. have
                 sequential numeric keys starting with <info>0</info>).

<comment>Return:</comment>
  <info>MongoDB\BSON\PackedArray</info>  

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * BSON Types


id: MongoDB\BSON\PackedArray::get
type: function
doc:
<comment>Description:</comment>
  Returns the value of an index in the array

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The index to retrieve from the array.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value associated with the given index. If the index is not present in the
         document, an exception is thrown.
         
         When encountering a value encoded as 64-bit integer in the BSON array, the return value of
         this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::has
   * BSON Types


id: MongoDB\BSON\PackedArray::getIterator
type: function
doc:
<comment>Description:</comment>
  Returns an iterator for the BSON array

<comment>Return:</comment>
  <info>MongoDB\BSON\Iterator</info>  Returns a <class>MongoDB\BSON\Iterator</class> instance that can be used to iterate over
                         all indexes in the array.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\PackedArray::has
type: function
doc:
<comment>Description:</comment>
  Returns whether a index is present in the array

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  The index to look for in the array.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the index is present in the array and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::get
   * BSON Types


id: MongoDB\BSON\PackedArray::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a BSON array

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\PackedArray</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\PackedArray::toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of the BSON array

<comment>Param:</comment>
  <info>array|null</info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The decoded PHP value.
                
                When encountering a value encoded as 64-bit integer in the BSON array, the return
                value of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\toPHP()</strong>
   * BSON Types


id: MongoDB\BSON\PackedArray::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a BSON array

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\PackedArray</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Persistable
type: class
doc:
<comment>Description:</comment>
  Classes may implement this interface to take advantage of automatic ODM (object document mapping)
  behavior in the driver. During serialization, the driver will inject a __pclass property
  containing the PHP class name into the data returned by
  <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>. During unserialization, the same __pclass property
  will then be used to infer the PHP class (independent of any type map configuration) to be
  constructed before <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong> is invoked. See  for additional
  information.
  
  Even if <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong> would return a sequential array, injection of
  the __pclass property will cause the object to be serialized as a BSON document.


id: MongoDB\BSON\Persistable::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Provides an array or document to serialize as BSON
  
  Called during serialization of the object to BSON. The method must return an <info>array</info>, <class>stdClass</class>, or
  <class>MongoDB\BSON\Document</class>.
  
  The return value will always be serialized as a BSON document. The serialized document will
  include a field containing the class name of the object. For this reason, it is not possible to
  return a <class>MongoDB\BSON\PackedArray</class> instance in this method.
  
  Users are encouraged to include an _id property (e.g. a <class>MongoDB\BSON\ObjectId</class> initialized in your
  constructor) when returning data for a BSON root document; otherwise, the driver or database will
  need to generate a <class>MongoDB\BSON\ObjectId</class> when inserting or upserting the document, respectively.

<comment>Return:</comment>
  <info>array|stdClass|MongoDB\BSON\Document</info>  An <info>array</info>, <class>stdClass</class>, or <class>MongoDB\BSON\Document</class> to be
                                        serialized as a BSON document.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>
   * <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\Regex
type: class
doc:
<comment>Description:</comment>
  BSON type for a regular expression pattern and optional flags.
  
  This BSON type is mainly used when querying the database. Alternatively, the $regex query operator
  may be used.


id: MongoDB\BSON\Regex::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Regex

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The regular expression pattern.
                    
                    The pattern should not be wrapped with delimiter characters.
  <info>string</info>  <strong>$flags</strong>    The regular expression flags. Characters in this argument will be sorted
                    alphabetically.

<comment>See Also:</comment>
   * BSON Types
   * Supported regular expression flags


id: MongoDB\BSON\Regex::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Regex

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Regex.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Regex::getFlags
type: function
doc:
<comment>Description:</comment>
  Returns the Regex's flags

<comment>Return:</comment>
  <info>string</info>  Returns the Regex's flags.

<comment>See Also:</comment>
   * BSON Types
   * Supported regular expression flags


id: MongoDB\BSON\Regex::getPattern
type: function
doc:
<comment>Description:</comment>
  Returns the Regex's pattern

<comment>Return:</comment>
  <info>string</info>  Returns the Regex's pattern.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Regex::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Regex</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Regex::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Regex

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Regex</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Regex::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Regex

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Regex</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\RegexInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Regex</class> to be used as a parameter, return, or property
  type in userland classes.


id: MongoDB\BSON\RegexInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this RegexInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this RegexInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::__toString


id: MongoDB\BSON\RegexInterface::getFlags
type: function
doc:
<comment>Description:</comment>
  Returns the RegexInterface's flags

<comment>Return:</comment>
  <info>string</info>  Returns the RegexInterface's flags.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::getFlags


id: MongoDB\BSON\RegexInterface::getPattern
type: function
doc:
<comment>Description:</comment>
  Returns the RegexInterface's pattern

<comment>Return:</comment>
  <info>string</info>  Returns the RegexInterface's pattern.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::getPattern


id: MongoDB\BSON\Serializable
type: class
doc:
<comment>Description:</comment>
  Classes that implement this interface may return data to be serialized as a BSON array or document
  in lieu of the object's public properties.


id: MongoDB\BSON\Serializable::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Provides an array or document to serialize as BSON
  
  Called during serialization of the object to BSON. The method must return an <info>array</info>, <class>stdClass</class>,
  <class>MongoDB\BSON\Document</class>, or <class>MongoDB\BSON\PackedArray</class>.
  
  Root documents (e.g. a MongoDB\BSON\Serializable passed to <strong>MongoDB\BSON\fromPHP()</strong>) will always be
  serialized as a BSON document. For field values, associative arrays and <class>stdClass</class> instances will be
  serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at
  <return>0</return>) will be serialized as a BSON array.
  
  Users are encouraged to include an _id property (e.g. a <class>MongoDB\BSON\ObjectId</class> initialized in your
  constructor) when returning data for a BSON root document; otherwise, the driver or database will
  need to generate a <class>MongoDB\BSON\ObjectId</class> when inserting or upserting the document, respectively.

<comment>Return:</comment>
  <info>array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray</info>  An <info>array</info>, <class>stdClass</class>,
                                                                 <class>MongoDB\BSON\Document</class>, or
                                                                 <class>MongoDB\BSON\PackedArray</class> to be
                                                                 serialized as a BSON array or
                                                                 document.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\Symbol
type: class
doc:
<comment>Description:</comment>
  BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON symbol type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\Symbol::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Symbol (unused)
  
  <class>MongoDB\BSON\Symbol</class> objects are created through conversion from a deprecated BSON type and cannot
  be constructed directly.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Symbol::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Symbol as a string

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Symbol.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Symbol::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Symbol</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Symbol::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Symbol

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Symbol</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Symbol::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Symbol::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Symbol

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Symbol</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Symbol::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Timestamp
type: class
doc:
<comment>Description:</comment>
  Represents a BSON timestamp, The value consists of a 4-byte timestamp (i.e. seconds since the
  epoch) and a 4-byte increment.
  
  This is an internal MongoDB type used for replication and sharding. It is not intended for general
  date storage (<class>MongoDB\BSON\UTCDateTime</class> should be used instead).


id: MongoDB\BSON\Timestamp::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Timestamp

<comment>Param:</comment>
  <info>int</info>  <strong>$increment</strong>  32-bit integer denoting the incrementing ordinal for operations within a given
                   second.
  <info>int</info>  <strong>$timestamp</strong>  32-bit integer denoting seconds since the Unix epoch.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Timestamp

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Timestamp.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::getIncrement
type: function
doc:
<comment>Description:</comment>
  Returns the increment component of this Timestamp
  
  The increment component of a Timestamp is its least significant 32 bits, whichs denotes the
  incrementing ordinal for operations within a given second. This value is read as an unsigned
  32-bit integer with big-endian byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the increment component of this Timestamp.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this Timestamp
  
  The timestamp component of a Timestamp is its most significant 32 bits, which denotes the number
  of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian
  byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this Timestamp.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Timestamp</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Timestamp::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Timestamp

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Timestamp</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Timestamp::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Timestamp

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Timestamp</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\TimestampInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Timestamp</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\TimestampInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this TimestampInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this TimestampInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::__toString


id: MongoDB\BSON\TimestampInterface::getIncrement
type: function
doc:
<comment>Description:</comment>
  Returns the increment component of this TimestampInterface

<comment>Return:</comment>
  <info>int</info>  Returns the increment component of this TimestampInterface.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::getIncrement


id: MongoDB\BSON\TimestampInterface::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this TimestampInterface

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this TimestampInterface.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::getTimestamp


id: MongoDB\BSON\UTCDateTime
type: class
doc:
<comment>Description:</comment>
  Represents a BSON date. The value is a 64-bit integer that represents the number of milliseconds
  since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970.


id: MongoDB\BSON\UTCDateTime::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new UTCDateTime

<comment>Param:</comment>
  <info>int|float|string|DateTimeInterface|null</info>  <strong>$milliseconds</strong>  Number of milliseconds since the Unix
                                                          epoch (Jan 1, 1970). Negative values
                                                          represent dates before 1970. This value
                                                          may be provided as a 64-bit <info>int</info>. For
                                                          compatibility on 32-bit systems, this
                                                          parameter may also be provided as a <info>float</info>
                                                          or <info>string</info>.
                                                          
                                                          If the argument is a <class>DateTimeInterface</class>,
                                                          the number of milliseconds since the Unix
                                                          epoch will be derived from that value.
                                                          
                                                          If this argument is <info>null</info>, the current time
                                                          will be used by default.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this UTCDateTime

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this UTCDateTime.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\UTCDateTime</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\UTCDateTime::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a UTCDateTime

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\UTCDateTime</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\UTCDateTime::toDateTime
type: function
doc:
<comment>Description:</comment>
  Returns the DateTime representation of this UTCDateTime

<comment>Return:</comment>
  <info>DateTime</info>  Returns the <class>DateTime</class> representation of this UTCDateTime. The returned <class>DateTime</class> will use
            the UTC time zone.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a UTCDateTime

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\UTCDateTime</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\UTCDateTimeInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\UTCDateTime</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\UTCDateTimeInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this UTCDateTimeInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this UTCDateTimeInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::__toString


id: MongoDB\BSON\UTCDateTimeInterface::toDateTime
type: function
doc:
<comment>Description:</comment>
  Returns the DateTime representation of this UTCDateTimeInterface

<comment>Return:</comment>
  <info>DateTime</info>  Returns the <class>DateTime</class> representation of this UTCDateTimeInterface. The returned <class>DateTime</class>
            should use the UTC time zone.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::toDateTime


id: MongoDB\BSON\Undefined
type: class
doc:
<comment>Description:</comment>
  BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON undefined type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\Undefined::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Undefined (unused)
  
  <class>MongoDB\BSON\Undefined</class> objects are created through conversion from a deprecated BSON type and
  cannot be constructed directly.

<comment>See Also:</comment>
   * BSON Types


id: MongoDB\BSON\Undefined::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Undefined</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Undefined::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Undefined

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Undefined</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Undefined::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Undefined::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Undefined

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Undefined</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\BSON\Undefined::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Unserializable
type: class
doc:
<comment>Description:</comment>
  Classes that implement this interface may be specified in a type map for unserializing BSON arrays
  and documents (both root and embedded).


id: MongoDB\BSON\Unserializable::bsonUnserialize
type: function
doc:
<comment>Description:</comment>
  Constructs the object from a BSON array or document
  
  Called during unserialization of the object from BSON. The properties of the BSON array or
  document will be passed to the method as an <info>array</info>.
  
  Remember to check for an _id property when handling data from a BSON document.
  
  This method acts as the constructor of the object. The __construct() method will not be called
  after this method.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  Properties within the BSON array or document.

<comment>Return:</comment>
  <info>void</info>  The return value from this method is ignored.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\fromJSON
type: function
doc:
<comment>Description:</comment>
  Returns the BSON representation of a JSON value
  
  Converts an extended JSON string to its BSON representation.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>  JSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The serialized BSON document as a binary string.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * <strong>MongoDB\BSON\toJSON()</strong>
   * MongoDB Extended JSON
   * MongoDB BSON


id: MongoDB\BSON\fromPHP
type: function
doc:
<comment>Description:</comment>
  Returns the BSON representation of a PHP value
  
  Serializes a PHP array or object (e.g. document) to its BSON representation. The returned binary
  string will describe a BSON document.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$value</strong>  PHP value to be serialized.

<comment>Return:</comment>
  <info>string</info>  The serialized BSON document as a binary string.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * <strong>MongoDB\BSON\toPHP()</strong>
   * MongoDB BSON
   * 


id: MongoDB\BSON\toCanonicalExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Canonical Extended JSON representation of a BSON value
  
  Converts a BSON string to its Canonical Extended JSON representation. The canonical format prefers
  type fidelity at the expense of concise output and is most suited for producing output that can be
  converted back to BSON without any loss of type information (e.g. numeric types will remain
  differentiated).

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toCanonicalExtendedJSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * Extended JSON Specification
   * MongoDB BSON


id: MongoDB\BSON\toJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Legacy Extended JSON representation of a BSON value
  
  Converts a BSON string to its Legacy Extended JSON representation.
  
  There exist several JSON formats for representing BSON. This function implements the "strict mode"
  defined in MongoDB Extended JSON, which has been superseded by the canonical and relaxed formats
  defined in the Extended JSON Specification and implemented by
  <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> and <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>, respectively.
  
  JSON does not support <info>NAN</info> and <info>INF</info> and MongoDB's Legacy Extended JSON format does not define an
  alternative representation for these values (libbson will output <return>nan</return> and <return>inf</return> literals, which may
  not be parsed as valid JSON). If you are working with BSON that may contain non-finite numbers,
  please use <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> or <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON
   * MongoDB BSON


id: MongoDB\BSON\toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of a BSON value
  
  Unserializes a BSON document (i.e. binary string) to its PHP representation. The <strong>$typeMap</strong>
  paramater may be used to control the PHP types used for converting BSON arrays and documents (both
  root and embedded).
  
  BSON documents can technically contain duplicate keys because documents are stored as a list of
  key-value pairs; however, applications should refrain from generating documents with duplicate
  keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have
  duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>     BSON value to be unserialized.
  <info>array</info>   <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The unserialized PHP value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::toPHP
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * MongoDB BSON
   * 


id: MongoDB\BSON\toRelaxedExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Relaxed Extended JSON representation of a BSON value
  
  Converts a BSON string to its Relaxed Extended JSON representation. The relaxed format prefers use
  of JSON type primitives at the expense of type fidelity and is most suited for producing output
  that can be easily consumed by web APIs and humans.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toRelaxedExtendedJSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * Extended JSON 
   * MongoDB BSON


id: MongoDB\Driver\BulkWrite
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\BulkWrite</class> collects one or more write operations that should be sent to the
  server. After adding any number of insert, update, and delete operations, the collection may be
  executed via MongoDB\Driver\Manager::executeBulkWrite.
  
  Write operations may either be ordered (default) or unordered. Ordered write operations are sent
  to the server, in the order provided, for serial execution. If a write fails, any remaining
  operations will be aborted. Unordered operations are sent to the server in an arbitrary order
  where they may be executed in parallel. Any errors that occur are reported after all operations
  have been attempted.


id: MongoDB\Driver\BulkWrite::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new BulkWrite
  
  Constructs a new <class>MongoDB\Driver\BulkWrite</class>, which is a mutable object to which one or more write
  operations may be added. The write(s) may then be executed with
  MongoDB\Driver\Manager::executeBulkWrite.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  optionsOptionTypeDescriptionDefaultbypassDocumentValidation<info>bool</info> If <info>true</info>,
                        allows insert and update operations to circumvent document level validation.
                        This option is available in MongoDB 3.2+ and is ignored for older server
                        versions, which do not support document level validation. <info>false</info>comment<info>mixed</info>
                        An arbitrary comment to help trace the operation through the database
                        profiler, currentOp output, and logs.  This option is available in MongoDB
                        4.4+ and will result in an exception at execution time if specified for an
                        older server version. let<info>array</info><info>object</info></info> Map of parameter names and values.
                        Values must be constant or closed expressions that do not reference document
                        fields. Parameters can then be accessed as variables in an aggregate
                        expression context (e.g. <return>$$var</return>).  This option is available in MongoDB 5.0+
                        and will result in an exception at execution time if specified for an older
                        server version. ordered<info>bool</info> Ordered operations (<info>true</info>) are executed serially
                        on the MongoDB server, while unordered operations (<info>false</info>) are sent to the
                        server in an arbitrary order and may be executed in parallel. <info>true</info>
                        
                        If <info>true</info>, allows insert and update operations to circumvent document level
                        validation.
                        
                        This option is available in MongoDB 3.2+ and is ignored for older server
                        versions, which do not support document level validation.
                        
                        An arbitrary comment to help trace the operation through the database
                        profiler, currentOp output, and logs.
                        
                        This option is available in MongoDB 4.4+ and will result in an exception at
                        execution time if specified for an older server version.
                        
                        Map of parameter names and values. Values must be constant or closed
                        expressions that do not reference document fields. Parameters can then be
                        accessed as variables in an aggregate expression context (e.g. <return>$$var</return>).
                        
                        This option is available in MongoDB 5.0+ and will result in an exception at
                        execution time if specified for an older server version.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


id: MongoDB\Driver\BulkWrite::count
type: function
doc:
<comment>Description:</comment>
  Count number of write operations in the bulk
  
  Returns the number of write operations added to the <class>MongoDB\Driver\BulkWrite</class> object.

<comment>Return:</comment>
  <info>int</info>  Returns number of write operations added to the <class>MongoDB\Driver\BulkWrite</class> object.


id: MongoDB\Driver\BulkWrite::delete
type: function
doc:
<comment>Description:</comment>
  Add a delete operation to the bulk
  
  Adds a delete operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>         The query predicate. An empty predicate will match all documents in
                                the collection.
                                
                                When evaluating query criteria, MongoDB compares types and values
                                according to its own comparison rules for BSON types, which differs
                                from PHP's comparison and type juggling rules. When matching a
                                special BSON type the query criteria should use the respective BSON
                                class (e.g. use <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|null</info>    <strong>$deleteOptions</strong>  
                                deleteOptionsOptionTypeDescriptionDefaultcollation<info>array</info><info>object</info></info>Collation
                                allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.  If the collation is unspecified but the
                                collection has a default collation, the operation uses the collation
                                specified for the collection. If no collation is specified for the
                                collection or for the operation, MongoDB uses the simple binary
                                comparison used in prior versions for string comparisons.  This
                                option is available in MongoDB 3.4+ and will result in an exception
                                at execution time if specified for an older server version.
                                hint<info>string</info><info>array</info><info>object</info></info> Index specification. Specify either the index
                                name as a string or the index key pattern. If specified, then the
                                query system will only consider plans using the hinted index.  This
                                option is available in MongoDB 4.4+ and will result in an exception
                                at execution time if specified for an older server version.
                                limit<info>bool</info>Delete all matching documents (<info>false</info>), or only the first
                                matching document (<info>true</info>)<info>false</info>
                                
                                Collation allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.
                                
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.
                                
                                This option is available in MongoDB 3.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Index specification. Specify either the index name as a string or
                                the index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.
                                
                                This option is available in MongoDB 4.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


id: MongoDB\Driver\BulkWrite::insert
type: function
doc:
<comment>Description:</comment>
  Add an insert operation to the bulk
  
  Adds an insert operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$document</strong>  A document to insert.

<comment>Return:</comment>
  <info>mixed</info>  Returns the <return>_id</return> of the inserted document. If the <strong>$document</strong> did not have an <return>_id</return>, the
         <class>MongoDB\BSON\ObjectId</class> generated for the insert will be returned.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>
   * <class>MongoDB\BSON\ObjectId</class>
   * MongoDB\BSON\Persistable


id: MongoDB\Driver\BulkWrite::update
type: function
doc:
<comment>Description:</comment>
  Add an update operation to the bulk
  
  Adds an update operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>         The query predicate. An empty predicate will match all documents in
                                the collection.
                                
                                When evaluating query criteria, MongoDB compares types and values
                                according to its own comparison rules for BSON types, which differs
                                from PHP's comparison and type juggling rules. When matching a
                                special BSON type the query criteria should use the respective BSON
                                class (e.g. use <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|object</info>  <strong>$newObj</strong>         A document containing either update operators (e.g. <return>$set</return>), a
                                replacement document (i.e. only <return>field:value</return> expressions), or an
                                aggregation pipeline.
  <info>array|null</info>    <strong>$updateOptions</strong>  updateOptionsOptionTypeDescriptionDefaultarrayFilters<info>array</info> An array
                                of filter documents that determines which array elements to modify
                                for an update operation on an array field. See Specify arrayFilters
                                for Array Update Operations in the MongoDB manual for more
                                information.  This option is available in MongoDB 3.6+ and will
                                result in an exception at execution time if specified for an older
                                server version. collation<info>array</info><info>object</info></info>Collation allows users to
                                specify language-specific rules for string comparison, such as rules
                                for lettercase and accent marks. When specifying collation, the
                                <return>"locale"</return> field is mandatory; all other collation fields are
                                optional. For descriptions of the fields, see Collation Document.
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.  This option is available in
                                MongoDB 3.4+ and will result in an exception at execution time if
                                specified for an older server version. hint<info>string</info><info>array</info><info>object</info></info> Index
                                specification. Specify either the index name as a string or the
                                index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.  This option is available in
                                MongoDB 4.2+ and will result in an exception at execution time if
                                specified for an older server version. multi<info>bool</info> Update only the
                                first matching document if <info>false</info>, or all matching documents <info>true</info>.
                                This option cannot be <info>true</info> if <strong>$newObj</strong> is a replacement document.
                                <info>false</info>upsert<info>bool</info> If <strong>$filter</strong> does not match an existing document,
                                insert a single document. The document will be created from <strong>$newObj</strong>
                                if it is a replacement document (i.e. no update operators);
                                otherwise, the operators in <strong>$newObj</strong> will be applied to <strong>$filter</strong> to
                                create the new document. <info>false</info>
                                
                                An array of filter documents that determines which array elements to
                                modify for an update operation on an array field. See Specify
                                arrayFilters for Array Update Operations in the MongoDB manual for
                                more information.
                                
                                This option is available in MongoDB 3.6+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Collation allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.
                                
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.
                                
                                This option is available in MongoDB 3.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Index specification. Specify either the index name as a string or
                                the index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.
                                
                                This option is available in MongoDB 4.2+ and will result in an
                                exception at execution time if specified for an older server
                                version.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


id: MongoDB\Driver\ClientEncryption
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\ClientEncryption</class> class handles creation of data keys for client-side
  encryption, as well as manually encrypting and decrypting values.


id: MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC
type: constant
doc:
<comment>Description:</comment>
  Specifies an algorithm for deterministic encryption, which is suitable for querying.


id: MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
type: constant
doc:
<comment>Description:</comment>
  Specifies an algorithm for an indexed, encrypted payload, which can be used with queryable
  encryption.
  
  To insert or query with an indexed, encrypted payload, the <class>MongoDB\Driver\Manager</class> must be
  configured with the <return>"autoEncryption"</return> driver option. The <return>"bypassQueryAnalysis"</return> auto encryption
  option may be <info>true</info>. The <return>"bypassAutoEncryption"</return> auto encryption option must be <info>false</info>.


id: MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW
type: constant
doc:
<comment>Description:</comment>
  Specifies an algorithm for a range, encrypted payload, which can be used with queryable
  encryption.
  
  To query with a range encrypted payload, the <class>MongoDB\Driver\Manager</class> must be configured with the
  <return>"autoEncryption"</return> driver option. The <return>"bypassQueryAnalysis"</return> auto encryption option may be <info>true</info>. The
  <return>"bypassAutoEncryption"</return> auto encryption option must be <info>false</info>.
  
  The range algorithm is experimental only. It is not intended for public use.
  
  The PHP driver does not yet support range queries for decimal128 BSON field types.


id: MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
type: constant
doc:
<comment>Description:</comment>
  Specifies an equality query type, which is used in conjunction with
  <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info>.


id: MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW
type: constant
doc:
<comment>Description:</comment>
  Specifies a range query type, which is used in conjunction with
  <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>.


id: MongoDB\Driver\ClientEncryption::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new ClientEncryption object
  
  Constructs a new <class>MongoDB\Driver\ClientEncryption</class> object with the specified options.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  optionsOptionTypeDescriptionkeyVaultClient<class>MongoDB\Driver\Manager</class>The Manager used
                   to route data key queries. This option is required (unlike with
                   <strong>MongoDB\Driver\Manager::createClientEncryption()</strong>).keyVaultNamespace<info>string</info>A fully
                   qualified namespace (e.g. <return>"databaseName.collectionName"</return>) denoting the collection
                   that contains all data keys used for encryption and decryption.kmsProviders<info>array</info>
                   A document containing the configuration for one or more KMS providers, which are
                   used to encrypt data keys. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>,
                   <return>"kmip"</return>, and <return>"local"</return> and at least one must be specified.  If an empty document is
                   specified for <return>"aws"</return>, <return>"azure"</return>, or <return>"gcp"</return>, the driver will attempt to configure the
                   provider using Automatic Credentials.  The format for <return>"aws"</return> is as follows: ,
                   secretAccessKey: , sessionToken:
                   }
                   ]]> The format for <return>"azure"</return> is as follows: , clientId: , clientSecret: ,
                   identityPlatformEndpoint:  // Defaults to "login.microsoftonline.com"
                   }
                   ]]> The format for <return>"gcp"</return> is as follows: , privateKey: |, endpoint:  // Defaults
                   to "oauth2.googleapis.com"
                   }
                   ]]> The format for <return>"kmip"</return> is as follows: 
                   }
                   ]]> The format for <return>"local"</return> is as follows: |
                   }
                   ]]>tlsOptions<info>array</info> A document containing the TLS configuration for one or more
                   KMS providers. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All
                   providers support the following options: : { tlsCaFile: , tlsCertificateKeyFile:
                   , tlsCertificateKeyFilePassword: , tlsDisableOCSPEndpointCheck:
                   }
                   ]]>
                   
                   A document containing the configuration for one or more KMS providers, which are
                   used to encrypt data keys. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>,
                   <return>"kmip"</return>, and <return>"local"</return> and at least one must be specified.
                   
                   If an empty document is specified for <return>"aws"</return>, <return>"azure"</return>, or <return>"gcp"</return>, the driver will
                   attempt to configure the provider using Automatic Credentials.
                   
                   The format for <return>"aws"</return> is as follows:
                   
                   The format for <return>"azure"</return> is as follows:
                   
                   The format for <return>"gcp"</return> is as follows:
                   
                   The format for <return>"kmip"</return> is as follows:
                   
                   The format for <return>"local"</return> is as follows:
                   
                   A document containing the TLS configuration for one or more KMS providers.
                   Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All providers
                   support the following options:

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::createClientEncryption()</strong>
   * Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual


id: MongoDB\Driver\ClientEncryption::addKeyAltName
type: function
doc:
<comment>Description:</comment>
  Adds an alternate name to a key document
  
  Adds <strong>$keyAltName</strong> to the set of alternate names for the key document with the given UUID <strong>$keyId</strong>.

<comment>Param:</comment>
  <info>MongoDB\BSON\Binary</info>  <strong>$keyId</strong>       A <class>MongoDB\BSON\Binary</class> instance with subtype 4 (UUID) identifying
                                    the key document.
  <info>string</info>               <strong>$keyAltName</strong>  Alternate name to add to the key document.

<comment>Return:</comment>
  <info>object|null</info>  Returns the previous version of the key document, or <info>null</info> if no document matched.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::getKeyByAltName()</strong>
   * <strong>MongoDB\Driver\ClientEncryption::removeKeyAltName()</strong>


id: MongoDB\Driver\ClientEncryption::createDataKey
type: function
doc:
<comment>Description:</comment>
  Creates a key document
  
  Creates a new key document and inserts it into the key vault collection.

<comment>Param:</comment>
  <info>string</info>      <strong>$kmsProvider</strong>  The KMS provider (e.g. <return>"local"</return>, <return>"aws"</return>) that will be used to encrypt the
                            new data key.
  <info>array|null</info>  <strong>$options</strong>      Data key optionsOptionTypeDescriptionmasterKey<info>array</info> The masterKey
                            document identifies a KMS-specific key used to encrypt the new data key.
                            This option is required unless <strong>$kmsProvider</strong> is <return>"local"</return>. <return>"aws"</return> provider
                            optionsOptionTypeDescriptionregionstringRequired.keystringRequired. The
                            Amazon Resource Name (ARN) to the AWS customer master key
                            (CMK).endpointstringOptional. An alternate host identifier to send KMS
                            requests to. May include port number.<return>"azure"</return> provider
                            optionsOptionTypeDescriptionkeyVaultEndpointstringRequired. Host with
                            optional port (e.g.
                            "example.vault.azure.net").keyNamestringRequired.keyVersionstringOptional.
                            A specific version of the named key. Defaults to using the key's primary
                            version.<return>"gcp"</return> provider
                            optionsOptionTypeDescriptionprojectIdstringRequired.locationstringRequired.keyRingstringRequired.keyNamestringRequired.keyVersionstringOptional.
                            A specific version of the named key. Defaults to using the key's primary
                            version.endpointstringOptional. Host with optional port. Defaults to
                            "cloudkms.googleapis.com".<return>"kmip"</return> provider
                            optionsOptionTypeDescriptionkeyIdstringOptional. Unique identifier to a
                            96-byte KMIP secret data managed object. If unspecified, the driver
                            creates a random 96-byte KMIP secret data managed
                            object.endpointstringOptional. Host with optional port.keyAltNames<info>array</info>
                            An optional list of string alternate names used to reference a key. If a
                            key is created with alternate names, then encryption may refer to the
                            key by the unique alternate name instead of by <return>_id</return>.
                            keyMaterial<class>MongoDB\BSON\Binary</class> An optional 96-byte value to use as
                            custom key material for the data key being created. If keyMaterial is
                            given, the custom key material is used for encrypting and decrypting
                            data. Otherwise, the key material for the new data key is generated from
                            a cryptographically secure random device.
                            
                            The masterKey document identifies a KMS-specific key used to encrypt the
                            new data key. This option is required unless <strong>$kmsProvider</strong> is <return>"local"</return>.
                            
                            <return>"aws"</return> provider
                            optionsOptionTypeDescriptionregionstringRequired.keystringRequired. The
                            Amazon Resource Name (ARN) to the AWS customer master key
                            (CMK).endpointstringOptional. An alternate host identifier to send KMS
                            requests to. May include port number.
                            
                            <return>"azure"</return> provider
                            optionsOptionTypeDescriptionkeyVaultEndpointstringRequired. Host with
                            optional port (e.g.
                            "example.vault.azure.net").keyNamestringRequired.keyVersionstringOptional.
                            A specific version of the named key. Defaults to using the key's primary
                            version.
                            
                            <return>"gcp"</return> provider
                            optionsOptionTypeDescriptionprojectIdstringRequired.locationstringRequired.keyRingstringRequired.keyNamestringRequired.keyVersionstringOptional.
                            A specific version of the named key. Defaults to using the key's primary
                            version.endpointstringOptional. Host with optional port. Defaults to
                            "cloudkms.googleapis.com".
                            
                            <return>"kmip"</return> provider optionsOptionTypeDescriptionkeyIdstringOptional. Unique
                            identifier to a 96-byte KMIP secret data managed object. If unspecified,
                            the driver creates a random 96-byte KMIP secret data managed
                            object.endpointstringOptional. Host with optional port.
                            
                            An optional list of string alternate names used to reference a key. If a
                            key is created with alternate names, then encryption may refer to the
                            key by the unique alternate name instead of by <return>_id</return>.
                            
                            An optional 96-byte value to use as custom key material for the data key
                            being created. If keyMaterial is given, the custom key material is used
                            for encrypting and decrypting data. Otherwise, the key material for the
                            new data key is generated from a cryptographically secure random device.

<comment>Return:</comment>
  <info>MongoDB\BSON\Binary</info>  Returns the identifier of the new key as a <class>MongoDB\BSON\Binary</class> object with
                       subtype 4 (UUID).


id: MongoDB\Driver\ClientEncryption::decrypt
type: function
doc:
<comment>Description:</comment>
  Decrypt a value
  
  Decrypts the value.

<comment>Param:</comment>
  <info>MongoDB\BSON\Binary</info>  <strong>$value</strong>  A <class>MongoDB\BSON\Binary</class> instance with subtype 6 containing the
                               encrypted value.

<comment>Return:</comment>
  <info>mixed</info>  Returns the decrypted value as it was passed to <strong>MongoDB\Driver\ClientEncryption::encrypt()</strong>.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::encrypt()</strong>


id: MongoDB\Driver\ClientEncryption::deleteKey
type: function
doc:
<comment>Description:</comment>
  Deletes a key document
  
  Removes the key document with the given UUID <strong>$keyId</strong> from the key vault collection.

<comment>Param:</comment>
  <info>MongoDB\BSON\Binary</info>  <strong>$keyId</strong>  A <class>MongoDB\BSON\Binary</class> instance with subtype 4 (UUID) identifying the
                               key document.

<comment>Return:</comment>
  <info>object</info>  Returns the result of the internal <return>deleteOne</return> operation on the key vault collection.


id: MongoDB\Driver\ClientEncryption::encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt a value
  
  Encrypts the value.

<comment>Param:</comment>
  <info>mixed</info>       <strong>$value</strong>    The value to be encrypted. Any value that can be inserted into MongoDB can
                        be encrypted using this method.
  <info>array|null</info>  <strong>$options</strong>  Encryption optionsOptionTypeDescriptionalgorithm<info>string</info> The encryption
                        algorithm to be used. This option is required. Specify one of the following
                        ClientEncryption constants:
                        <info>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC</info><info>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>contentionFactor<info>int</info>
                        The contention factor for evaluating queries with indexed, encrypted
                        payloads.  This option only applies and may only be specified when <return>algorithm</return>
                        is <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>. keyAltName<info>string</info>
                        Identifies a key vault collection document by <return>keyAltName</return>. This option is
                        mutually exclusive with <return>keyId</return> and exactly one is required.
                        keyId<class>MongoDB\BSON\Binary</class> Identifies a data key by <return>_id</return>. The value is a UUID
                        (binary subtype 4). This option is mutually exclusive with <return>keyAltName</return> and
                        exactly one is required. queryType<info>int</info> The query type for evaluating queries
                        with indexed, encrypted payloads. Specify one of the following
                        ClientEncryption constants:
                        <info>MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY</info><info>MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW</info>This
                        option only applies and may only be specified when <return>algorithm</return> is
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>. rangeOpts<info>array</info>
                        Index options for a queryable encryption field supporting "rangePreview"
                        queries. The options below must match the values set in the <return>encryptedFields</return>
                        of the target collection. For double and decimal128 BSON field types, <return>min</return>,
                        <return>max</return>, and <return>precision</return> must all be set, or all be unset. Range index
                        optionsOptionTypeDescriptionmin<info>mixed</info>Required if <return>precision</return> is
                        set.max<info>mixed</info>Required if <return>precision</return> is
                        set.sparsity<info>int</info>Required.precision<info>int</info>Optional. May only be set for double or
                        decimal128 BSON field types.
                        
                        The encryption algorithm to be used. This option is required. Specify one of
                        the following ClientEncryption constants:
                        
                        The contention factor for evaluating queries with indexed, encrypted
                        payloads.
                        
                        This option only applies and may only be specified when <return>algorithm</return> is
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>.
                        
                        Identifies a key vault collection document by <return>keyAltName</return>. This option is
                        mutually exclusive with <return>keyId</return> and exactly one is required.
                        
                        Identifies a data key by <return>_id</return>. The value is a UUID (binary subtype 4). This
                        option is mutually exclusive with <return>keyAltName</return> and exactly one is required.
                        
                        The query type for evaluating queries with indexed, encrypted payloads.
                        Specify one of the following ClientEncryption constants:
                        
                        This option only applies and may only be specified when <return>algorithm</return> is
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                        <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>.
                        
                        Index options for a queryable encryption field supporting "rangePreview"
                        queries. The options below must match the values set in the <return>encryptedFields</return>
                        of the target collection. For double and decimal128 BSON field types, <return>min</return>,
                        <return>max</return>, and <return>precision</return> must all be set, or all be unset.
                        
                        Range index optionsOptionTypeDescriptionmin<info>mixed</info>Required if <return>precision</return> is
                        set.max<info>mixed</info>Required if <return>precision</return> is
                        set.sparsity<info>int</info>Required.precision<info>int</info>Optional. May only be set for double or
                        decimal128 BSON field types.

<comment>Return:</comment>
  <info>MongoDB\BSON\Binary</info>  Returns the encrypted value as <class>MongoDB\BSON\Binary</class> object with subtype 6.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::decrypt()</strong>


id: MongoDB\Driver\ClientEncryption::encryptExpression
type: function
doc:
<comment>Description:</comment>
  Encrypts a match or aggregate expression
  
  Encrypts a match or aggregate expression to query a range index.
  
  To query with a range encrypted payload, the <class>MongoDB\Driver\Manager</class> must be configured with the
  <return>"autoEncryption"</return> driver option. The <return>"bypassQueryAnalysis"</return> auto encryption option may be <info>true</info>. The
  <return>"bypassAutoEncryption"</return> auto encryption option must be <info>false</info>.
  
  The range algorithm is experimental only. It is not intended for public use.
  
  The PHP driver does not yet support range queries for decimal128 BSON field types.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$expr</strong>     The match or aggregate expression to be encrypted. Expressions must use at
                          least one of the <return>$gt</return>, <return>$gte</return>, <return>$lt</return>, or <return>$lte</return> operators. A top-level <return>$and</return>
                          operator is required, even if only a single comparison operator is used.
                          
                          An example of a supported match expression (applies to queries and the
                          <return>$match</return> aggregation stage) is as follows:
                          
                          An example of a supported aggregate expression is as follows:
  <info>array|null</info>    <strong>$options</strong>  Encryption optionsOptionTypeDescriptionalgorithm<info>string</info> The encryption
                          algorithm to be used. This option is required. Specify one of the
                          following ClientEncryption constants:
                          <info>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC</info><info>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED</info><info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>contentionFactor<info>int</info>
                          The contention factor for evaluating queries with indexed, encrypted
                          payloads.  This option only applies and may only be specified when
                          <return>algorithm</return> is <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>. keyAltName<info>string</info>
                          Identifies a key vault collection document by <return>keyAltName</return>. This option is
                          mutually exclusive with <return>keyId</return> and exactly one is required.
                          keyId<class>MongoDB\BSON\Binary</class> Identifies a data key by <return>_id</return>. The value is a UUID
                          (binary subtype 4). This option is mutually exclusive with <return>keyAltName</return> and
                          exactly one is required. queryType<info>int</info> The query type for evaluating
                          queries with indexed, encrypted payloads. Specify one of the following
                          ClientEncryption constants:
                          <info>MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY</info><info>MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW</info>This
                          option only applies and may only be specified when <return>algorithm</return> is
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>. rangeOpts<info>array</info>
                          Index options for a queryable encryption field supporting "rangePreview"
                          queries. The options below must match the values set in the
                          <return>encryptedFields</return> of the target collection. For double and decimal128 BSON
                          field types, <return>min</return>, <return>max</return>, and <return>precision</return> must all be set, or all be unset.
                          Range index optionsOptionTypeDescriptionmin<info>mixed</info>Required if <return>precision</return> is
                          set.max<info>mixed</info>Required if <return>precision</return> is
                          set.sparsity<info>int</info>Required.precision<info>int</info>Optional. May only be set for double
                          or decimal128 BSON field types.
                          
                          The encryption algorithm to be used. This option is required. Specify one
                          of the following ClientEncryption constants:
                          
                          The contention factor for evaluating queries with indexed, encrypted
                          payloads.
                          
                          This option only applies and may only be specified when <return>algorithm</return> is
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>.
                          
                          Identifies a key vault collection document by <return>keyAltName</return>. This option is
                          mutually exclusive with <return>keyId</return> and exactly one is required.
                          
                          Identifies a data key by <return>_id</return>. The value is a UUID (binary subtype 4). This
                          option is mutually exclusive with <return>keyAltName</return> and exactly one is required.
                          
                          The query type for evaluating queries with indexed, encrypted payloads.
                          Specify one of the following ClientEncryption constants:
                          
                          This option only applies and may only be specified when <return>algorithm</return> is
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</info> or
                          <info>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</info>.
                          
                          Index options for a queryable encryption field supporting "rangePreview"
                          queries. The options below must match the values set in the
                          <return>encryptedFields</return> of the target collection. For double and decimal128 BSON
                          field types, <return>min</return>, <return>max</return>, and <return>precision</return> must all be set, or all be unset.
                          
                          Range index optionsOptionTypeDescriptionmin<info>mixed</info>Required if <return>precision</return> is
                          set.max<info>mixed</info>Required if <return>precision</return> is
                          set.sparsity<info>int</info>Required.precision<info>int</info>Optional. May only be set for double
                          or decimal128 BSON field types.

<comment>Return:</comment>
  <info>object</info>  Returns the encrypted expression as an object.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::__construct()</strong>


id: MongoDB\Driver\ClientEncryption::getKey
type: function
doc:
<comment>Description:</comment>
  Gets a key document
  
  Finds a single key document in the key vault collection with the given UUID <strong>$keyId</strong>.

<comment>Param:</comment>
  <info>MongoDB\BSON\Binary</info>  <strong>$keyId</strong>  A <class>MongoDB\BSON\Binary</class> instance with subtype 4 (UUID) identifying the
                               key document.

<comment>Return:</comment>
  <info>object|null</info>  Returns the key document, or <info>null</info> if no document matched.


id: MongoDB\Driver\ClientEncryption::getKeyByAltName
type: function
doc:
<comment>Description:</comment>
  Gets a key document by an alternate name
  
  Finds a single key document in the key vault collection with the given alternate name <strong>$keyAltName</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$keyAltName</strong>  Alternate name for the key document.

<comment>Return:</comment>
  <info>object|null</info>  Returns the key document, or <info>null</info> if no document matched.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::addKeyAltName()</strong>
   * <strong>MongoDB\Driver\ClientEncryption::removeKeyAltName()</strong>


id: MongoDB\Driver\ClientEncryption::getKeys
type: function
doc:
<comment>Description:</comment>
  Gets all key documents
  
  Finds all key documents in the key vault collection.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.


id: MongoDB\Driver\ClientEncryption::removeKeyAltName
type: function
doc:
<comment>Description:</comment>
  Removes an alternate name from a key document
  
  Removes <strong>$keyAltName</strong> from the set of alternate names for the key document with the given UUID
  <strong>$keyId</strong>.

<comment>Param:</comment>
  <info>MongoDB\BSON\Binary</info>  <strong>$keyId</strong>       A <class>MongoDB\BSON\Binary</class> instance with subtype 4 (UUID) identifying
                                    the key document.
  <info>string</info>               <strong>$keyAltName</strong>  Alternate name to remove from the key document.

<comment>Return:</comment>
  <info>object|null</info>  Returns the previous version of the key document, or <info>null</info> if no document matched.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::addKeyAltName()</strong>
   * <strong>MongoDB\Driver\ClientEncryption::getKeyByAltName()</strong>


id: MongoDB\Driver\ClientEncryption::rewrapManyDataKey
type: function
doc:
<comment>Description:</comment>
  Rewraps data keys
  
  Rewraps (i.e. decrypts and re-encrypts) zero or more data keys in the key vault collection that
  match the given <strong>$filter</strong>.
  
  If the <return>"provider"</return> option is not specified, matching data keys will be rewrapped with their current
  KMS provider. Otherwise, matching data keys will be re-encrypted according to the specified
  <return>"provider"</return> and <return>"masterKey"</return> options.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>   The query predicate. An empty predicate will match all documents in the
                          collection.
                          
                          When evaluating query criteria, MongoDB compares types and values
                          according to its own comparison rules for BSON types, which differs from
                          PHP's comparison and type juggling rules. When matching a special BSON
                          type the query criteria should use the respective BSON class (e.g. use
                          <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|null</info>    <strong>$options</strong>  RewrapManyDataKey optionsOptionTypeDescriptionprovider<info>string</info> The KMS
                          provider (e.g. <return>"local"</return>, <return>"aws"</return>) that will be used to re-encrypt the matched
                          data keys.  If a KMS provider is not specified, matched data keys will be
                          re-encrypted with their current KMS provider. masterKey<info>array</info> The masterKey
                          identifies a KMS-specific key used to encrypt the new data key. This
                          option should not be specified without the <return>"provider"</return> option. This option
                          is required if <return>"provider"</return> is specified and not <return>"local"</return>. <return>"aws"</return> provider
                          optionsOptionTypeDescriptionregionstringRequired.keystringRequired. The
                          Amazon Resource Name (ARN) to the AWS customer master key
                          (CMK).endpointstringOptional. An alternate host identifier to send KMS
                          requests to. May include port number.<return>"azure"</return> provider
                          optionsOptionTypeDescriptionkeyVaultEndpointstringRequired. Host with
                          optional port (e.g.
                          "example.vault.azure.net").keyNamestringRequired.keyVersionstringOptional.
                          A specific version of the named key. Defaults to using the key's primary
                          version.<return>"gcp"</return> provider
                          optionsOptionTypeDescriptionprojectIdstringRequired.locationstringRequired.keyRingstringRequired.keyNamestringRequired.keyVersionstringOptional.
                          A specific version of the named key. Defaults to using the key's primary
                          version.endpointstringOptional. Host with optional port. Defaults to
                          "cloudkms.googleapis.com".<return>"kmip"</return> provider
                          optionsOptionTypeDescriptionkeyIdstringOptional. Unique identifier to a
                          96-byte KMIP secret data managed object. If unspecified, the driver
                          creates a random 96-byte KMIP secret data managed
                          object.endpointstringOptional. Host with optional port.
                          
                          The KMS provider (e.g. <return>"local"</return>, <return>"aws"</return>) that will be used to re-encrypt the
                          matched data keys.
                          
                          If a KMS provider is not specified, matched data keys will be re-encrypted
                          with their current KMS provider.
                          
                          The masterKey identifies a KMS-specific key used to encrypt the new data
                          key. This option should not be specified without the <return>"provider"</return> option.
                          This option is required if <return>"provider"</return> is specified and not <return>"local"</return>.
                          
                          <return>"aws"</return> provider
                          optionsOptionTypeDescriptionregionstringRequired.keystringRequired. The
                          Amazon Resource Name (ARN) to the AWS customer master key
                          (CMK).endpointstringOptional. An alternate host identifier to send KMS
                          requests to. May include port number.
                          
                          <return>"azure"</return> provider
                          optionsOptionTypeDescriptionkeyVaultEndpointstringRequired. Host with
                          optional port (e.g.
                          "example.vault.azure.net").keyNamestringRequired.keyVersionstringOptional.
                          A specific version of the named key. Defaults to using the key's primary
                          version.
                          
                          <return>"gcp"</return> provider
                          optionsOptionTypeDescriptionprojectIdstringRequired.locationstringRequired.keyRingstringRequired.keyNamestringRequired.keyVersionstringOptional.
                          A specific version of the named key. Defaults to using the key's primary
                          version.endpointstringOptional. Host with optional port. Defaults to
                          "cloudkms.googleapis.com".
                          
                          <return>"kmip"</return> provider optionsOptionTypeDescriptionkeyIdstringOptional. Unique
                          identifier to a 96-byte KMIP secret data managed object. If unspecified,
                          the driver creates a random 96-byte KMIP secret data managed
                          object.endpointstringOptional. Host with optional port.

<comment>Return:</comment>
  <info>object</info>  Returns an object, which will have an optional <return>bulkWriteResult</return> property containing the
          result of the internal <return>bulkWrite</return> operation as an object. If no data keys matched the
          filter or the write was unacknowledged, the <return>bulkWriteResult</return> property will be <info>null</info>.


id: MongoDB\Driver\Command
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Command</class> class is a value object that represents a database command.
  
  To provide Command Helpers the <class>MongoDB\Driver\Command</class> object should be composed.


id: MongoDB\Driver\Command::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new Command
  
  Constructs a new <class>MongoDB\Driver\Command</class>, which is an immutable value object that represents a
  database command. The command may then be executed with MongoDB\Driver\Manager::executeCommand.
  
  The complete command document, which includes the command name and its options, should be
  expressed in the <strong>$document</strong> parameter. The <strong>$commandOptions</strong> parameter is only used to specify
  options related to the execution of the command and the resulting <class>MongoDB\Driver\Cursor</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$document</strong>        The complete command document, which will be sent to the server.
  <info>array|null</info>    <strong>$commandOptions</strong>  Do not use this parameter to specify options described in the
                                 command's reference in the MongoDB manual. This parameter should
                                 only be used for the options explicitly listed below.
                                 
                                 commandOptionsOptionTypeDescriptionmaxAwaitTimeMS<info>int</info> Positive
                                 integer denoting the time limit in milliseconds for the server to
                                 block a getMore operation if no data is available. This option
                                 should only be used in conjunction with commands that return a
                                 tailable cursor (e.g. Change Streams).
                                 
                                 Positive integer denoting the time limit in milliseconds for the
                                 server to block a getMore operation if no data is available. This
                                 option should only be used in conjunction with commands that return
                                 a tailable cursor (e.g. Change Streams).

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeCommand
   * <class>MongoDB\Driver\Cursor</class>


id: MongoDB\Driver\Cursor
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Cursor</class> class encapsulates the results of a MongoDB command or query and may be
  returned by MongoDB\Driver\Manager::executeCommand or MongoDB\Driver\Manager::executeQuery,
  respectively.


id: MongoDB\Driver\Cursor::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new Cursor (not used)
  
  <class>MongoDB\Driver\Cursor</class> objects are returned as the result of an executed command or query and
  cannot be constructed directly.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeQuery()</strong>
   * <strong>MongoDB\Driver\Server::executeCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeQuery()</strong>


id: MongoDB\Driver\Cursor::current
type: function
doc:
<comment>Description:</comment>
  Returns the current element

<comment>Return:</comment>
  <info>array|object|null</info>  Returns the current result document as an array or object, depending on the
                     cursor's type map. If iteration has not started or the current position is not
                     valid, <info>null</info> will be returned.

<comment>See Also:</comment>
   * Iterator::current


id: MongoDB\Driver\Cursor::getId
type: function
doc:
<comment>Description:</comment>
  Returns the ID for this cursor
  
  Returns the <class>MongoDB\Driver\CursorId</class> associated with this cursor. A cursor ID uniquely identifies
  the cursor on the server.

<comment>Return:</comment>
  <info>MongoDB\Driver\CursorId</info>  Returns the <class>MongoDB\Driver\CursorId</class> for this cursor.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\CursorId</class>
   * <strong>MongoDB\Driver\CursorId::__toString()</strong>


id: MongoDB\Driver\Cursor::getServer
type: function
doc:
<comment>Description:</comment>
  Returns the server associated with this cursor
  
  Returns the <class>MongoDB\Driver\Server</class> associated with this cursor. This is the server that executed
  the <class>MongoDB\Driver\Query</class> or <class>MongoDB\Driver\Command</class>.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns the <class>MongoDB\Driver\Server</class> associated with this cursor.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Server</class>


id: MongoDB\Driver\Cursor::isDead
type: function
doc:
<comment>Description:</comment>
  Checks if the cursor is exhausted or may have additional results
  
  Checks whether there are definitely no additional results available on the cursor. This method is
  similar to the cursor.isExhausted() method in the MongoDB shell and is primarily useful when
  iterating tailable cursors.
  
  A cursor has no additional results and is considered "dead" when one of the following is true:
  The current batch has been fully iterated and the cursor ID is zero (i.e. a  getMore cannot be
  issued). An error was encountered while iterating the cursor.The cursor reached its configured
  limit.
  
  By design, it is not possible to always determine whether a cursor has additional results. The
  cases where a cursor may have more data available is as follows:  There are additional documents
  in the current batch, which are buffered on the client side. Iterating will fetch a document from
  the local buffer.  There are no additional documents in the current batch (i.e. local buffer), but
  the cursor ID is non-zero. Iterating will request more documents from the server via a getMore
  operation, which may or may not return additional results and/or indicate that the cursor has been
  closed on the server by returning zero for its ID.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if there are definitely no additional results available on the cursor, and
        <info>false</info> otherwise.

<comment>See Also:</comment>
   * Tailable Cursors in the MongoDB manual
   * cursor.isExhausted() in the MongoDB manual


id: MongoDB\Driver\Cursor::key
type: function
doc:
<comment>Description:</comment>
  Returns the current result's index within the cursor

<comment>Return:</comment>
  <info>int</info>  The current result's numeric index within the cursor.

<comment>See Also:</comment>
   * Iterator::key


id: MongoDB\Driver\Cursor::next
type: function
doc:
<comment>Description:</comment>
  Advances the cursor to the next result

<comment>Return:</comment>
  <info>void</info>  Moves the current position to the next element in the cursor.

<comment>See Also:</comment>
   * Iterator::next


id: MongoDB\Driver\Cursor::rewind
type: function
doc:
<comment>Description:</comment>
  Rewind the cursor to the first result
  
  If the cursor has advanced beyond its first position, it can no longer be rewound.

<comment>Return:</comment>
  <info>void</info>  <info>null</info>.

<comment>See Also:</comment>
   * Iterator::rewind


id: MongoDB\Driver\Cursor::setTypeMap
type: function
doc:
<comment>Description:</comment>
  Sets a type map to use for BSON unserialization
  
  Sets the type map configuration to use when unserializing the BSON results into PHP values.

<comment>Param:</comment>
  <info></info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * 


id: MongoDB\Driver\Cursor::toArray
type: function
doc:
<comment>Description:</comment>
  Returns an array containing all results for this cursor
  
  Iterates the cursor and returns its results in an array. <strong>MongoDB\Driver\Cursor::setTypeMap()</strong> may
  be used to control how documents are unserialized into PHP values.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all results for this cursor.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Cursor::setTypeMap()</strong>


id: MongoDB\Driver\Cursor::valid
type: function
doc:
<comment>Description:</comment>
  Checks if the current position in the cursor is valid

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> if the current cursor position is valid, <info>false</info> otherwise.

<comment>See Also:</comment>
   * Iterator::valid


id: MongoDB\Driver\CursorId
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\CursorID</class> class is a value object that represents a cursor ID. Instances of this
  class are returned by <strong>MongoDB\Driver\Cursor::getId()</strong>.


id: MongoDB\Driver\CursorId::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new CursorId (not used)
  
  <class>MongoDB\Driver\CursorId</class> objects are returned from <strong>MongoDB\Driver\Cursor::getId()</strong> and cannot be
  constructed directly.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Cursor::getId()</strong>


id: MongoDB\Driver\CursorId::__toString
type: function
doc:
<comment>Description:</comment>
  String representation of the cursor ID
  
  Returns the <info>string</info> representation of the cursor ID.

<comment>Return:</comment>
  <info>string</info>  Returns the <info>string</info> representation of the cursor ID.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Cursor::getId()</strong>


id: MongoDB\Driver\CursorId::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a CursorId

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\Driver\CursorId</class>.

<comment>See Also:</comment>
   * MongoDB\Driver\CursorId::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\CursorId::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a CursorId

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\Driver\CursorId</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\CursorId::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\CursorInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\Driver\Cursor</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\Driver\CursorInterface::getId
type: function
doc:
<comment>Description:</comment>
  Returns the ID for this cursor
  
  Returns the <class>MongoDB\Driver\CursorId</class> associated with this cursor. A cursor ID uniquely identifies
  the cursor on the server.

<comment>Return:</comment>
  <info>MongoDB\Driver\CursorId</info>  Returns the <class>MongoDB\Driver\CursorId</class> for this cursor.

<comment>See Also:</comment>
   * MongoDB\Driver\Cursor::getId
   * <class>MongoDB\Driver\CursorId</class>
   * <strong>MongoDB\Driver\CursorId::__toString()</strong>


id: MongoDB\Driver\CursorInterface::getServer
type: function
doc:
<comment>Description:</comment>
  Returns the server associated with this cursor
  
  Returns the <class>MongoDB\Driver\Server</class> associated with this cursor. This is the server that executed
  the <class>MongoDB\Driver\Query</class> or <class>MongoDB\Driver\Command</class>.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns the <class>MongoDB\Driver\Server</class> associated with this cursor.

<comment>See Also:</comment>
   * MongoDB\Driver\Cursor::getServer
   * <class>MongoDB\Driver\Server</class>


id: MongoDB\Driver\CursorInterface::isDead
type: function
doc:
<comment>Description:</comment>
  Checks if the cursor may have additional results
  
  Checks whether the cursor may have additional results available to read. A cursor is initially
  "alive" but may become "dead" for any of the following reasons: Advancing a non-tailable cursor
  did not return a documentThe cursor encountered an errorThe cursor read its last batch to
  completionThe cursor reached its configured limit This is primarily useful with tailable cursors.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if additional results are not available, and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\Driver\Cursor::isDead


id: MongoDB\Driver\CursorInterface::setTypeMap
type: function
doc:
<comment>Description:</comment>
  Sets a type map to use for BSON unserialization
  
  Sets the type map configuration to use when unserializing the BSON results into PHP values.

<comment>Param:</comment>
  <info></info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\Cursor::setTypeMap
   * 


id: MongoDB\Driver\CursorInterface::toArray
type: function
doc:
<comment>Description:</comment>
  Returns an array containing all results for this cursor
  
  Iterates the cursor and returns its results in an array.
  <strong>MongoDB\Driver\CursorInterface::setTypeMap()</strong> may be used to control how documents are unserialized
  into PHP values.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all results for this cursor.

<comment>See Also:</comment>
   * MongoDB\Driver\Cursor::toArray
   * <strong>MongoDB\Driver\CursorInterface::setTypeMap()</strong>


id: MongoDB\Driver\Exception\CommandException::getResultDocument
type: function
doc:
<comment>Description:</comment>
  Returns the result document for the failed command
  
  Returns the result document for the failed command.

<comment>Return:</comment>
  <info>object</info>  The result document for the failed command.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>


id: MongoDB\Driver\Exception\ConnectionException
type: class
doc:
<comment>Description:</comment>
  Base class for exceptions thrown when the driver fails to establish a database connection.


id: MongoDB\Driver\Exception\ConnectionTimeoutException
type: class
doc:
<comment>Description:</comment>
  Thrown when the driver fails to establish a database connection within a specified time limit
  (connectTimeoutMS) or server selection fails (serverSelectionTimeoutMS).


id: MongoDB\Driver\Exception\Exception
type: class
doc:
<comment>Description:</comment>
  Common interface for all driver exceptions. This may be used to catch only exceptions originating
  from the driver itself.


id: MongoDB\Driver\Exception\ExecutionTimeoutException
type: class
doc:
<comment>Description:</comment>
  Thrown when a query or command fails to complete within a specified time limit (e.g. maxTimeMS).


id: MongoDB\Driver\Exception\InvalidArgumentException
type: class
doc:
<comment>Description:</comment>
  Thrown when a driver method is given invalid arguments (e.g. invalid option types).


id: MongoDB\Driver\Exception\LogicException
type: class
doc:
<comment>Description:</comment>
  Thrown when the driver is incorrectly used (e.g. rewinding a cursor).


id: MongoDB\Driver\Exception\RuntimeException
type: class
doc:
<comment>Description:</comment>
  Thrown when the driver encounters a runtime error (e.g. internal error from libmongoc).


id: MongoDB\Driver\Exception\RuntimeException::hasErrorLabel
type: function
doc:
<comment>Description:</comment>
  Returns whether an error label is associated with an exception
  
  Returns whether the <strong>$errorLabel</strong> has been set for this exception. Error labels are set by either
  the server or the driver to indicated specific situations on which you might want to decide on how
  you want to handle a specific exception. A common situation might be to find out whether you can
  safely retry a transaction that failed due to a transient error (like a networking issue, or a
  transaction conflict). Examples of error labels are <return>TransientTransactionError</return> and
  <return>UnknownTransactionCommitResult</return>.

<comment>Param:</comment>
  <info>string</info>  <strong>$errorLabel</strong>  The name of the <return>errorLabel</return> to test for.

<comment>Return:</comment>
  <info>bool</info>  Whether the given <return>errorLabel</return> is associated with this exception.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Session::commitTransaction()</strong>
   * MongoDB documentation on transactions


id: MongoDB\Driver\Exception\SSLConnectionException
type: class
doc:
<comment>Description:</comment>
  Thrown when the driver fails to establish an SSL connection with the server.


id: MongoDB\Driver\Exception\ServerException
type: class
doc:
<comment>Description:</comment>
  Base class for exceptions thrown by the server. The code of this exception and its subclasses will
  correspond to the original error code from the server.


id: MongoDB\Driver\Exception\UnexpectedValueException
type: class
doc:
<comment>Description:</comment>
  Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or
  deserialization).


id: MongoDB\Driver\Exception\WriteException
type: class
doc:
<comment>Description:</comment>
  Base class for exceptions thrown by a failed write operation. The exception encapsulates a
  <class>MongoDB\Driver\WriteResult</class> object.


id: MongoDB\Driver\Exception\WriteException::getWriteResult
type: function
doc:
<comment>Description:</comment>
  Returns the WriteResult for the failed write operation
  
  Returns the <class>MongoDB\Driver\WriteResult</class> for the failed write operation. The
  <strong>MongoDB\Driver\WriteResult::getWriteErrors()</strong> and
  <strong>MongoDB\Driver\WriteResult::getWriteConcernError()</strong> methods may be used to get more details about
  the failure.

<comment>Return:</comment>
  <info>MongoDB\Driver\WriteResult</info>  The <class>MongoDB\Driver\WriteResult</class> for the failed write operation.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\WriteResult</class>
   * <strong>MongoDB\Driver\Manager::executeBulkWrite()</strong>


id: MongoDB\Driver\Manager
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Manager</class> is the main entry point to the extension. It is responsible for
  maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).
  
  No connection to MongoDB is made upon instantiating the Manager. This means the
  <class>MongoDB\Driver\Manager</class> can always be constructed, even though one or more MongoDB servers are
  down.
  
  Any write or query can throw connection exceptions as connections are created lazily. A MongoDB
  server may also become unavailable during the life time of the script. It is therefore important
  that all actions on the Manager to be wrapped in try/catch statements.


id: MongoDB\Driver\Manager::__construct
type: function
doc:
<comment>Description:</comment>
  Create new MongoDB Manager
  
  Constructs a new <class>MongoDB\Driver\Manager</class> object with the specified options.
  
  Per the Server Discovery and Monitoring Specification, this constructor performs no I/O.
  Connections will be initialized on demand, when the first operation is executed.
  
  When specifying any SSL or TLS URI options via the connection string or <strong>$uriOptions</strong> parameter, the
  driver will implicitly enable TLS for its connections. To avoid this, either explicitly disable
  the <return>tls</return> option or don't specify any TLS options.
  
  On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call
  without also calling exec(). Users are advised not to re-use <class>MongoDB\Driver\Manager</class> instances in a
  forked child process.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$uri</strong>            A mongodb:// connection URI: 
                               
                               For details on supported URI options, see Connection String Options
                               in the MongoDB manual. Connection pool options are not supported, as
                               the PHP driver does not implement connection pools.
                               
                               The <strong>$uri</strong> is a URL, hence any special characters in its components
                               need to be URL encoded according to RFC 3986. This is particularly
                               relevant to the username and password, which can often include
                               special characters such as <return>@</return>, <return>:</return>, or <return>%</return>. When connecting via a Unix
                               domain socket, the socket path may contain special characters such as
                               slashes and must be encoded. The <strong>rawurlencode()</strong> function may be used
                               to encode constituent parts of the URI.
                               
                               The <return>defaultAuthDb</return> component may be used to specify the database name
                               associated with the user's credentials; however the <return>authSource</return> URI
                               option will take priority if specified. If neither <return>defaultAuthDb</return> nor
                               <return>authSource</return> are specified, the <return>admin</return> database will be used by default.
                               The <return>defaultAuthDb</return> component has no effect in the absence of user
                               credentials.
  <info>array|null</info>   <strong>$uriOptions</strong>     Additional connection string options, which will overwrite any
                               options with the same name in the <strong>$uri</strong> parameter.
                               
                               uriOptionsOptionTypeDescriptionappname<info>string</info> MongoDB 3.4+ has the
                               ability to annotate connections with metadata provided by the
                               connecting client. This metadata is included in the server's logs
                               upon establishing a connection and also recorded in slow query logs
                               when database profiling is enabled.  This option may be used to
                               specify an application name, which will be included in the metadata.
                               The value cannot exceed 128 characters in length. authMechanism<info>string</info>
                               The authentication mechanism that MongoDB will use to authenticate
                               the connection. For additional details and a list of supported
                               values, see Authentication Options in the MongoDB manual.
                               authMechanismProperties<info>array</info> Properties for the selected
                               authentication mechanism. For additional details and a list of
                               supported properties, see the Driver Authentication Specification.
                               When not specified in the URI string, this option is expressed as an
                               array of key/value pairs. The keys and values in this array should be
                               strings. authSource<info>string</info> The database name associated with the
                               user's credentials. Defaults to the database component of the
                               connection URI, or the <return>admin</return> database if both are unspecified.  For
                               authentication mechanisms that delegate credential storage to other
                               services (e.g. GSSAPI), this should be <return>"$external"</return>.
                               canonicalizeHostname<info>bool</info> If <info>true</info>, the driver will resolve the real
                               hostname for the server IP address before authenticating via SASL.
                               Some underlying GSSAPI layers already do this, but the functionality
                               may be disabled in their config (e.g. <return>krb.conf</return>). Defaults to <info>false</info>.
                               This option is a deprecated alias for the <return>"CANONICALIZE_HOST_NAME"</return>
                               property of the <return>"authMechanismProperties"</return> URI option.
                               compressors<info>string</info> A prioritized, comma-delimited list of compressors
                               that the client wants to use. Messages are only compressed if the
                               client and server share any compressors in common, and the compressor
                               used in each direction will depend on the individual configuration of
                               the server or driver. See the Driver Compression Specification for
                               more information. connectTimeoutMS<info>int</info> The time in milliseconds to
                               attempt a connection before timing out. Defaults to 10,000
                               milliseconds. directConnection<info>bool</info> This option can be used to control
                               replica set discovery behavior when only a single host is provided in
                               the connection string. By default, providing a single member in the
                               connection string will establish a direct connection or discover
                               additional members depending on whether the <return>"replicaSet"</return> URI option
                               is omitted or present, respectively. Specify <info>false</info> to force discovery
                               to occur (if <return>"replicaSet"</return> is omitted) or specify <info>true</info> to force a
                               direct connection (if <return>"replicaSet"</return> is present).
                               gssapiServiceName<info>string</info> Set the Kerberos service name when connecting
                               to Kerberized MongoDB instances. This value must match the service
                               name set on MongoDB instances (i.e. saslServiceName server
                               parameter). Defaults to <return>"mongodb"</return>.  This option is a deprecated alias
                               for the <return>"SERVICE_NAME"</return> property of the <return>"authMechanismProperties"</return> URI
                               option. heartbeatFrequencyMS<info>int</info> Specifies the interval in
                               milliseconds between the driver's checks of the MongoDB topology,
                               counted from the end of the previous check until the beginning of the
                               next one. Defaults to 60,000 milliseconds.  Per the Server Discovery
                               and Monitoring Specification, this value cannot be less than 500
                               milliseconds. journal<info>bool</info> Corresponds to the default write concern's
                               <strong>$journal</strong> parameter. If <info>true</info>, writes will require acknowledgement from
                               MongoDB that the operation has been written to the journal. For
                               details, see <class>MongoDB\Driver\WriteConcern</class>. loadBalanced<info>bool</info> Specifies
                               whether the driver is connecting to a MongoDB cluster through a load
                               balancer. If <info>true</info>, the driver may only connect to a single host
                               (specified by either the connection string or SRV lookup), the
                               <return>"directConnection"</return> URI option cannot be <info>true</info>, and the <return>"replicaSet"</return>
                               URI option must be omitted. Defaults to <info>false</info>. localThresholdMS<info>int</info>
                               The size in milliseconds of the latency window for selecting among
                               multiple suitable MongoDB instances while resolving a read
                               preference. Defaults to 15 milliseconds. maxStalenessSeconds<info>int</info>
                               Corresponds to the read preference's <return>"maxStalenessSeconds"</return>.
                               Specifies, in seconds, how stale a secondary can be before the client
                               stops using it for read operations. By default, there is no maximum
                               staleness and clients will not consider a secondary’s lag when
                               choosing where to direct a read operation. For details, see
                               <class>MongoDB\Driver\ReadPreference</class>.  If specified, the max staleness must
                               be a signed 32-bit integer greater than or equal to
                               <info>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</info> (i.e.
                               90 seconds). password<info>string</info> The password for the user being
                               authenticated. This option is useful if the password contains special
                               characters, which would otherwise need to be URL encoded for the
                               connection URI. readConcernLevel<info>string</info> Corresponds to the read
                               concern's <strong>$level</strong> parameter. Specifies the level of read isolation.
                               For details, see <class>MongoDB\Driver\ReadConcern</class>. readPreference<info>string</info>
                               Corresponds to the read preference's <strong>$mode</strong> parameter. Defaults to
                               <return>"primary"</return>. For details, see <class>MongoDB\Driver\ReadPreference</class>.
                               readPreferenceTags<info>array</info> Corresponds to the read preference's <strong>$tagSets</strong>
                               parameter. Tag sets allow you to target read operations to specific
                               members of a replica set. For details, see
                               <class>MongoDB\Driver\ReadPreference</class>.  When not specified in the URI string,
                               this option is expressed as an array consistent with the format
                               expected by <strong>MongoDB\Driver\ReadPreference::__construct()</strong>.
                               replicaSet<info>string</info> Specifies the name of the replica set.
                               retryReads<info>bool</info> Specifies whether or not the driver should
                               automatically retry certain read operations that fail due to
                               transient network errors or replica set elections. This functionality
                               requires MongoDB 3.6+. Defaults to <info>true</info>.  See the Retryable Reads
                               Specification for more information. retryWrites<info>bool</info> Specifies whether
                               or not the driver should automatically retry certain write operations
                               that fail due to transient network errors or replica set elections.
                               This functionality requires MongoDB 3.6+. Defaults to <info>true</info>.  See
                               Retryable Writes in the MongoDB manual for more information. safe<info>bool</info>
                               If <info>true</info>, specifies <return>1</return> for the default write concern's <strong>$w</strong> parameter. If
                               <info>false</info>, <return>0</return> is specified. For details, see <class>MongoDB\Driver\WriteConcern</class>.
                               This option is deprecated and should not be used.
                               serverSelectionTimeoutMS<info>int</info> Specifies how long in milliseconds to
                               block for server selection before throwing an exception. Defaults to
                               30,000 milliseconds. serverSelectionTryOnce<info>bool</info> When <info>true</info>, instructs
                               the driver to scan the MongoDB deployment exactly once after server
                               selection fails and then either select a server or raise an error.
                               When <info>false</info>, the driver blocks and searches for a server up to the
                               <return>"serverSelectionTimeoutMS"</return> value. Defaults to <info>true</info>.
                               socketCheckIntervalMS<info>int</info> If a socket has not been used recently, the
                               driver must check it via a <return>hello</return> command before using it for any
                               operation. Defaults to 5,000 milliseconds. socketTimeoutMS<info>int</info> The
                               time in milliseconds to attempt a send or receive on a socket before
                               timing out. Defaults to 300,000 milliseconds (i.e. five minutes).
                               srvMaxHosts<info>int</info> The maximum number of SRV results to randomly select
                               when initially populating the seedlist or, during SRV polling, adding
                               new hosts to the topology. Defaults to <return>0</return> (i.e. no maximum).
                               srvServiceName<info>string</info> The service name to use for SRV lookup in
                               initial DNS seedlist discovery and SRV polling. Defaults to
                               <return>"mongodb"</return>. ssl<info>bool</info> Initiates the connection with TLS/SSL if <info>true</info>.
                               Defaults to <info>false</info>.  This option is a deprecated alias for the <return>"tls"</return>
                               URI option. tls<info>bool</info> Initiates the connection with TLS/SSL if <info>true</info>.
                               Defaults to <info>false</info>. tlsAllowInvalidCertificates<info>bool</info> Specifies whether
                               or not the driver should error when the server's TLS certificate is
                               invalid. Defaults to <info>false</info>.  Disabling certificate validation creates
                               a vulnerability. tlsAllowInvalidHostnames<info>bool</info> Specifies whether or
                               not the driver should error when there is a mismatch between the
                               server's hostname and the hostname specified by the TLS certificate.
                               Defaults to <info>false</info>.  Disabling certificate validation creates a
                               vulnerability. Allowing invalid hostnames may expose the driver to a
                               man-in-the-middle attack. tlsCAFile<info>string</info> Path to file with either a
                               single or bundle of certificate authorities to be considered trusted
                               when making a TLS connection. The system certificate store will be
                               used by default. tlsCertificateKeyFile<info>string</info> Path to the client
                               certificate file or the client private key file; in the case that
                               they both are needed, the files should be concatenated.
                               tlsCertificateKeyFilePassword<info>string</info> Password to decrypt the client
                               private key (i.e. <return>"tlsCertificateKeyFile"</return> URI option) to be used for
                               TLS connections. tlsDisableCertificateRevocationCheck<info>bool</info> If <info>true</info>,
                               the driver will not attempt to check certificate revocation status
                               (e.g. OCSP, CRL). Defaults to <info>false</info>. tlsDisableOCSPEndpointCheck<info>bool</info>
                               If <info>true</info>, the driver will not attempt to contact an OCSP responder
                               endpoint if needed (i.e. an OCSP response is not stapled). Defaults
                               to <info>false</info>. tlsInsecure<info>bool</info> Relax TLS constraints as much as possible.
                               Specifying <info>true</info> for this option has the same effect as specifying
                               <info>true</info> for both the <return>"tlsAllowInvalidCertificates"</return> and
                               <return>"tlsAllowInvalidHostnames"</return> URI options. Defaults to <info>false</info>.  Disabling
                               certificate validation creates a vulnerability. Allowing invalid
                               hostnames may expose the driver to a man-in-the-middle attack.
                               username<info>string</info> The username for the user being authenticated. This
                               option is useful if the username contains special characters, which
                               would otherwise need to be URL encoded for the connection URI.
                               w<info>int</info><info>string</info></info> Corresponds to the default write concern's <strong>$w</strong> parameter.
                               For details, see <class>MongoDB\Driver\WriteConcern</class>. wTimeoutMS<info>int</info><info>string</info></info>
                               Corresponds to the default write concern's <strong>$wtimeout</strong> parameter.
                               Specifies a time limit, in milliseconds, for the write concern. For
                               details, see <class>MongoDB\Driver\WriteConcern</class>.  If specified, <return>wTimeoutMS</return>
                               must be a signed 32-bit integer greater than or equal to zero.
                               zlibCompressionLevel<info>int</info> Specifies the compression level to use for
                               the zlib compressor. This option has no effect if <return>zlib</return> is not
                               included in the <return>"compressors"</return> URI option. See the Driver Compression
                               Specification for more information.
                               
                               MongoDB 3.4+ has the ability to annotate connections with metadata
                               provided by the connecting client. This metadata is included in the
                               server's logs upon establishing a connection and also recorded in
                               slow query logs when database profiling is enabled.
                               
                               This option may be used to specify an application name, which will be
                               included in the metadata. The value cannot exceed 128 characters in
                               length.
                               
                               The authentication mechanism that MongoDB will use to authenticate
                               the connection. For additional details and a list of supported
                               values, see Authentication Options in the MongoDB manual.
                               
                               Properties for the selected authentication mechanism. For additional
                               details and a list of supported properties, see the Driver
                               Authentication Specification.
                               
                               When not specified in the URI string, this option is expressed as an
                               array of key/value pairs. The keys and values in this array should be
                               strings.
                               
                               The database name associated with the user's credentials. Defaults to
                               the database component of the connection URI, or the <return>admin</return> database
                               if both are unspecified.
                               
                               For authentication mechanisms that delegate credential storage to
                               other services (e.g. GSSAPI), this should be <return>"$external"</return>.
                               
                               If <info>true</info>, the driver will resolve the real hostname for the server IP
                               address before authenticating via SASL. Some underlying GSSAPI layers
                               already do this, but the functionality may be disabled in their
                               config (e.g. <return>krb.conf</return>). Defaults to <info>false</info>.
                               
                               This option is a deprecated alias for the <return>"CANONICALIZE_HOST_NAME"</return>
                               property of the <return>"authMechanismProperties"</return> URI option.
                               
                               A prioritized, comma-delimited list of compressors that the client
                               wants to use. Messages are only compressed if the client and server
                               share any compressors in common, and the compressor used in each
                               direction will depend on the individual configuration of the server
                               or driver. See the Driver Compression Specification for more
                               information.
                               
                               The time in milliseconds to attempt a connection before timing out.
                               Defaults to 10,000 milliseconds.
                               
                               This option can be used to control replica set discovery behavior
                               when only a single host is provided in the connection string. By
                               default, providing a single member in the connection string will
                               establish a direct connection or discover additional members
                               depending on whether the <return>"replicaSet"</return> URI option is omitted or
                               present, respectively. Specify <info>false</info> to force discovery to occur (if
                               <return>"replicaSet"</return> is omitted) or specify <info>true</info> to force a direct connection
                               (if <return>"replicaSet"</return> is present).
                               
                               Set the Kerberos service name when connecting to Kerberized MongoDB
                               instances. This value must match the service name set on MongoDB
                               instances (i.e. saslServiceName server parameter). Defaults to
                               <return>"mongodb"</return>.
                               
                               This option is a deprecated alias for the <return>"SERVICE_NAME"</return> property of
                               the <return>"authMechanismProperties"</return> URI option.
                               
                               Specifies the interval in milliseconds between the driver's checks of
                               the MongoDB topology, counted from the end of the previous check
                               until the beginning of the next one. Defaults to 60,000 milliseconds.
                               
                               Per the Server Discovery and Monitoring Specification, this value
                               cannot be less than 500 milliseconds.
                               
                               Corresponds to the default write concern's <strong>$journal</strong> parameter. If
                               <info>true</info>, writes will require acknowledgement from MongoDB that the
                               operation has been written to the journal. For details, see
                               <class>MongoDB\Driver\WriteConcern</class>.
                               
                               Specifies whether the driver is connecting to a MongoDB cluster
                               through a load balancer. If <info>true</info>, the driver may only connect to a
                               single host (specified by either the connection string or SRV
                               lookup), the <return>"directConnection"</return> URI option cannot be <info>true</info>, and the
                               <return>"replicaSet"</return> URI option must be omitted. Defaults to <info>false</info>.
                               
                               The size in milliseconds of the latency window for selecting among
                               multiple suitable MongoDB instances while resolving a read
                               preference. Defaults to 15 milliseconds.
                               
                               Corresponds to the read preference's <return>"maxStalenessSeconds"</return>.
                               Specifies, in seconds, how stale a secondary can be before the client
                               stops using it for read operations. By default, there is no maximum
                               staleness and clients will not consider a secondary’s lag when
                               choosing where to direct a read operation. For details, see
                               <class>MongoDB\Driver\ReadPreference</class>.
                               
                               If specified, the max staleness must be a signed 32-bit integer
                               greater than or equal to
                               <info>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</info> (i.e.
                               90 seconds).
                               
                               Corresponds to the read preference's <strong>$mode</strong> parameter. Defaults to
                               <return>"primary"</return>. For details, see <class>MongoDB\Driver\ReadPreference</class>.
                               
                               Corresponds to the read preference's <strong>$tagSets</strong> parameter. Tag sets
                               allow you to target read operations to specific members of a replica
                               set. For details, see <class>MongoDB\Driver\ReadPreference</class>.
                               
                               When not specified in the URI string, this option is expressed as an
                               array consistent with the format expected by
                               <strong>MongoDB\Driver\ReadPreference::__construct()</strong>.
                               
                               Specifies the name of the replica set.
                               
                               Specifies whether or not the driver should automatically retry
                               certain read operations that fail due to transient network errors or
                               replica set elections. This functionality requires MongoDB 3.6+.
                               Defaults to <info>true</info>.
                               
                               See the Retryable Reads Specification for more information.
                               
                               Specifies whether or not the driver should automatically retry
                               certain write operations that fail due to transient network errors or
                               replica set elections. This functionality requires MongoDB 3.6+.
                               Defaults to <info>true</info>.
                               
                               See Retryable Writes in the MongoDB manual for more information.
                               
                               If <info>true</info>, specifies <return>1</return> for the default write concern's <strong>$w</strong> parameter. If
                               <info>false</info>, <return>0</return> is specified. For details, see <class>MongoDB\Driver\WriteConcern</class>.
                               
                               This option is deprecated and should not be used.
                               
                               Specifies how long in milliseconds to block for server selection
                               before throwing an exception. Defaults to 30,000 milliseconds.
                               
                               When <info>true</info>, instructs the driver to scan the MongoDB deployment
                               exactly once after server selection fails and then either select a
                               server or raise an error. When <info>false</info>, the driver blocks and searches
                               for a server up to the <return>"serverSelectionTimeoutMS"</return> value. Defaults to
                               <info>true</info>.
                               
                               If a socket has not been used recently, the driver must check it via
                               a <return>hello</return> command before using it for any operation. Defaults to 5,000
                               milliseconds.
                               
                               The time in milliseconds to attempt a send or receive on a socket
                               before timing out. Defaults to 300,000 milliseconds (i.e. five
                               minutes).
                               
                               The maximum number of SRV results to randomly select when initially
                               populating the seedlist or, during SRV polling, adding new hosts to
                               the topology. Defaults to <return>0</return> (i.e. no maximum).
                               
                               The service name to use for SRV lookup in initial DNS seedlist
                               discovery and SRV polling. Defaults to <return>"mongodb"</return>.
                               
                               Initiates the connection with TLS/SSL if <info>true</info>. Defaults to <info>false</info>.
                               
                               This option is a deprecated alias for the <return>"tls"</return> URI option.
                               
                               Initiates the connection with TLS/SSL if <info>true</info>. Defaults to <info>false</info>.
                               
                               Specifies whether or not the driver should error when the server's
                               TLS certificate is invalid. Defaults to <info>false</info>.
                               
                               Disabling certificate validation creates a vulnerability.
                               
                               Specifies whether or not the driver should error when there is a
                               mismatch between the server's hostname and the hostname specified by
                               the TLS certificate. Defaults to <info>false</info>.
                               
                               Disabling certificate validation creates a vulnerability. Allowing
                               invalid hostnames may expose the driver to a man-in-the-middle
                               attack.
                               
                               Path to file with either a single or bundle of certificate
                               authorities to be considered trusted when making a TLS connection.
                               The system certificate store will be used by default.
                               
                               Path to the client certificate file or the client private key file;
                               in the case that they both are needed, the files should be
                               concatenated.
                               
                               Password to decrypt the client private key (i.e.
                               <return>"tlsCertificateKeyFile"</return> URI option) to be used for TLS connections.
                               
                               If <info>true</info>, the driver will not attempt to check certificate revocation
                               status (e.g. OCSP, CRL). Defaults to <info>false</info>.
                               
                               If <info>true</info>, the driver will not attempt to contact an OCSP responder
                               endpoint if needed (i.e. an OCSP response is not stapled). Defaults
                               to <info>false</info>.
                               
                               Relax TLS constraints as much as possible. Specifying <info>true</info> for this
                               option has the same effect as specifying <info>true</info> for both the
                               <return>"tlsAllowInvalidCertificates"</return> and <return>"tlsAllowInvalidHostnames"</return> URI
                               options. Defaults to <info>false</info>.
                               
                               Disabling certificate validation creates a vulnerability. Allowing
                               invalid hostnames may expose the driver to a man-in-the-middle
                               attack.
                               
                               Corresponds to the default write concern's <strong>$w</strong> parameter. For details,
                               see <class>MongoDB\Driver\WriteConcern</class>.
                               
                               Corresponds to the default write concern's <strong>$wtimeout</strong> parameter.
                               Specifies a time limit, in milliseconds, for the write concern. For
                               details, see <class>MongoDB\Driver\WriteConcern</class>.
                               
                               If specified, <return>wTimeoutMS</return> must be a signed 32-bit integer greater than
                               or equal to zero.
                               
                               Specifies the compression level to use for the zlib compressor. This
                               option has no effect if <return>zlib</return> is not included in the <return>"compressors"</return> URI
                               option. See the Driver Compression Specification for more
                               information.
  <info>array|null</info>   <strong>$driverOptions</strong>  driverOptionsOptionTypeDescriptionallow_invalid_hostname<info>bool</info> Disables
                               hostname validation if <info>true</info>. Defaults to <info>false</info>.  Allowing invalid
                               hostnames may expose the driver to a man-in-the-middle attack.  This
                               option is a deprecated alias for the <return>"tlsAllowInvalidHostnames"</return> URI
                               option. autoEncryption<info>array</info> Provides options to enable automatic
                               client-side field level encryption.  Automatic encryption is an
                               enterprise-only feature that only applies to operations on a
                               collection. Automatic encryption is not supported for operations on a
                               database or view, and operations that are not bypassed will result in
                               error (see libmongocrypt: Auto Encryption Allow-List). To bypass
                               automatic encryption for all operations, set <return>bypassAutoEncryption</return> to
                               <info>true</info>.  Automatic encryption requires the authenticated user to have
                               the listCollections privilege action.  Explicit encryption/decryption
                               and automatic decryption is a community feature. The driver can still
                               automatically decrypt when <return>bypassAutoEncryption</return> is <info>true</info>.  The
                               following options are supported:
                                Options for automatic
                               encryptionOptionTypeDescriptionkeyVaultClient<class>MongoDB\Driver\Manager</class>The
                               Manager used to route data key queries to a separate MongoDB cluster.
                               By default, the current Manager and cluster is
                               used.keyVaultNamespace<info>string</info>A fully qualified namespace (e.g.
                               <return>"databaseName.collectionName"</return>) denoting the collection that contains
                               all data keys used for encryption and decryption.kmsProviders<info>array</info> A
                               document containing the configuration for one or more KMS providers,
                               which are used to encrypt data keys. Supported providers include
                               <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, <return>"kmip"</return>, and <return>"local"</return> and at least one must be
                               specified.  If an empty document is specified for <return>"aws"</return>, <return>"azure"</return>, or
                               <return>"gcp"</return>, the driver will attempt to configure the provider using
                               Automatic Credentials.  The format for <return>"aws"</return> is as follows: ,
                               secretAccessKey: , sessionToken:
                               }
                               ]]> The format for <return>"azure"</return> is as follows: , clientId: , clientSecret:
                               , identityPlatformEndpoint:  // Defaults to
                               "login.microsoftonline.com"
                               }
                               ]]> The format for <return>"gcp"</return> is as follows: , privateKey: |, endpoint:
                               // Defaults to "oauth2.googleapis.com"
                               }
                               ]]> The format for <return>"kmip"</return> is as follows: 
                               }
                               ]]> The format for <return>"local"</return> is as follows: |
                               }
                               ]]>tlsOptions<info>array</info> A document containing the TLS configuration for
                               one or more KMS providers. Supported providers include <return>"aws"</return>,
                               <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All providers support the following
                               options: : { tlsCaFile: , tlsCertificateKeyFile: ,
                               tlsCertificateKeyFilePassword: , tlsDisableOCSPEndpointCheck:
                               }
                               ]]>schemaMap<info>array</info><info>object</info></info> Map of collection namespaces to a local JSON
                               schema. This is used to configure automatic encryption. See Automatic
                               Encryption Rules in the MongoDB manual for more information. It is an
                               error to specify a collection in both <return>schemaMap</return> and
                               <return>encryptedFieldsMap</return>.  Supplying a <return>schemaMap</return> provides more security
                               than relying on JSON schemas obtained from the server. It protects
                               against a malicious server advertising a false JSON schema, which
                               could trick the client into sending unencrypted data that should be
                               encrypted.  Schemas supplied in the <return>schemaMap</return> only apply to
                               configuring automatic encryption for client side encryption. Other
                               validation rules in the JSON schema will not be enforced by the
                               driver and will result in an error. bypassAutoEncryption<info>bool</info> If <info>true</info>,
                               <return>mongocryptd</return> will not be spawned automatically. This is used to
                               disable automatic encryption. Defaults to <info>false</info>.
                               bypassQueryAnalysis<info>bool</info> If <info>true</info>, automatic analysis of outgoing
                               commands will be disabled and <return>mongocryptd</return> will not be spawned
                               automatically. This enables the use case of explicit encryption for
                               querying indexed fields without requiring the enterprise licensed
                               <return>crypt_shared</return> library or <return>mongocryptd</return> process. Defaults to <info>false</info>.
                               encryptedFieldsMap<info>array</info><info>object</info></info> Map of collection namespaces to an
                               <return>encryptedFields</return> document. This is used to configure queryable
                               encryption. See Field Encryption and Queryability in the MongoDB
                               manual for more information. It is an error to specify a collection
                               in both <return>encryptedFieldsMap</return> and <return>schemaMap</return>.  Supplying an
                               <return>encryptedFieldsMap</return> provides more security than relying on an
                               <return>encryptedFields</return> obtained from the server. It protects against a
                               malicious server advertising a false <return>encryptedFields</return>.
                               extraOptions<info>array</info> The <return>extraOptions</return> relate to the <return>mongocryptd</return> process.
                               The following options are supported: <return>mongocryptdURI</return> (<info>string</info>): URI to
                               connect to an existing <return>mongocryptd</return> process. Defaults to
                               <return>"mongodb://localhost:27020"</return>.<return>mongocryptdBypassSpawn</return> (<info>bool</info>): If <info>true</info>,
                               prevent the driver from spawning <return>mongocryptd</return>. Defaults to
                               <info>false</info>.<return>mongocryptdSpawnPath</return> (<info>string</info>): Absolute path to search for
                               <return>mongocryptd</return> binary. Defaults to empty string and consults system
                               paths.<return>mongocryptdSpawnArgs</return> (<info>array</info>): Array of string arguments to pass
                               to <return>mongocryptd</return> when spawning. Defaults to
                               <return>["--idleShutdownTimeoutSecs=60"]</return>.<return>cryptSharedLibPath</return> (<info>string</info>):
                               Absolute path to <return>crypt_shared</return> shared library. Defaults to empty
                               string and consults system paths.<return>cryptSharedLibRequired</return> (<info>bool</info>): If
                               <info>true</info>, require the driver to load <return>crypt_shared</return>. Defaults to <info>false</info>. See
                               the Client-Side Encryption Specification for more information.
                               Automatic encryption is an enterprise only feature that only applies
                               to operations on a collection. Automatic encryption is not supported
                               for operations on a database or view, and operations that are not
                               bypassed will result in error. To bypass automatic encryption for all
                               operations, set <return>bypassAutoEncryption=true</return> in <return>autoEncryption</return>. For more
                               information on allowed operations, see the Client-Side Encryption
                               Specification. ca_dir<info>string</info> Path to a correctly hashed certificate
                               directory. The system certificate store will be used by default.
                               ca_file<info>string</info> Path to file with either a single or bundle of
                               certificate authorities to be considered trusted when making a TLS
                               connection. The system certificate store will be used by default.
                               This option is a deprecated alias for the <return>"tlsCAFile"</return> URI option.
                               context<info>resource</info>SSL context options to be used as fallbacks if a
                               driver option or its equivalent URI option, if any, is not specified.
                               Note that the driver does not consult the default stream context
                               (i.e. <strong>stream_context_get_default()</strong>). The following context options
                               are supported: SSL context option fallbacksDriver optionContext
                               option
                               (fallback)ca_dircapathca_filecafilepem_filelocal_certpem_pwdpassphraseweak_cert_validationallow_self_signed
                               This option is supported for backwards compatibility, but should be
                               considered deprecated. crl_file<info>string</info>Path to a certificate revocation
                               list file.disableClientPersistence<info>bool</info> If <info>true</info>, this Manager will use
                               a new libmongoc client, which will not be persisted or shared with
                               other Manager objects. When this Manager object is freed, its client
                               will be destroyed and any connections will be closed. Defaults to
                               <info>false</info>.  Disabling client persistence is not generally recommended.
                               driver<info>array</info> Allows custom drivers to append their own metadata to the
                               server handshake. By default, the driver submits its own name,
                               version, and platform (i.e. PHP version) in the handshake. Custom
                               drivers can specify strings for the <return>"name"</return>, <return>"version"</return>, and <return>"platform"</return>
                               keys of this array, which will be appended to the respective field(s)
                               in the handshake document.  Handshake information is limited to 512
                               bytes. The driver will truncate handshake data to fit within this
                               512-byte string. Drivers and ODMs are encouraged to keep their own
                               metadata concise. pem_file<info>string</info> Path to a PEM encoded certificate to
                               use for client authentication.  This option is a deprecated alias for
                               the <return>"tlsCertificateKeyFile"</return> URI option. pem_pwd<info>string</info> Passphrase for
                               the PEM encoded certificate (if applicable).  This option is a
                               deprecated alias for the <return>"tlsCertificateKeyFilePassword"</return> URI option.
                               serverApi<class>MongoDB\Driver\ServerApi</class> This option is used to declare a
                               server API version for the manager. If omitted, no API version is
                               declared. weak_cert_validation<info>bool</info> Disables certificate validation if
                               <info>true</info>. Defaults to <info>false</info>  This option is a deprecated alias for the
                               <return>"tlsAllowInvalidCertificates"</return> URI option.
                               
                               Disables hostname validation if <info>true</info>. Defaults to <info>false</info>.
                               
                               Allowing invalid hostnames may expose the driver to a
                               man-in-the-middle attack.
                               
                               This option is a deprecated alias for the <return>"tlsAllowInvalidHostnames"</return>
                               URI option.
                               
                               Provides options to enable automatic client-side field level
                               encryption.
                               
                               Automatic encryption is an enterprise-only feature that only applies
                               to operations on a collection. Automatic encryption is not supported
                               for operations on a database or view, and operations that are not
                               bypassed will result in error (see libmongocrypt: Auto Encryption
                               Allow-List). To bypass automatic encryption for all operations, set
                               <return>bypassAutoEncryption</return> to <info>true</info>.
                               
                               Automatic encryption requires the authenticated user to have the
                               listCollections privilege action.
                               
                               Explicit encryption/decryption and automatic decryption is a
                               community feature. The driver can still automatically decrypt when
                               <return>bypassAutoEncryption</return> is <info>true</info>.
                               
                               The following options are supported:
                                Options for automatic
                               encryptionOptionTypeDescriptionkeyVaultClient<class>MongoDB\Driver\Manager</class>The
                               Manager used to route data key queries to a separate MongoDB cluster.
                               By default, the current Manager and cluster is
                               used.keyVaultNamespace<info>string</info>A fully qualified namespace (e.g.
                               <return>"databaseName.collectionName"</return>) denoting the collection that contains
                               all data keys used for encryption and decryption.kmsProviders<info>array</info> A
                               document containing the configuration for one or more KMS providers,
                               which are used to encrypt data keys. Supported providers include
                               <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, <return>"kmip"</return>, and <return>"local"</return> and at least one must be
                               specified.  If an empty document is specified for <return>"aws"</return>, <return>"azure"</return>, or
                               <return>"gcp"</return>, the driver will attempt to configure the provider using
                               Automatic Credentials.  The format for <return>"aws"</return> is as follows: ,
                               secretAccessKey: , sessionToken:
                               }
                               ]]> The format for <return>"azure"</return> is as follows: , clientId: , clientSecret:
                               , identityPlatformEndpoint:  // Defaults to
                               "login.microsoftonline.com"
                               }
                               ]]> The format for <return>"gcp"</return> is as follows: , privateKey: |, endpoint:
                               // Defaults to "oauth2.googleapis.com"
                               }
                               ]]> The format for <return>"kmip"</return> is as follows: 
                               }
                               ]]> The format for <return>"local"</return> is as follows: |
                               }
                               ]]>tlsOptions<info>array</info> A document containing the TLS configuration for
                               one or more KMS providers. Supported providers include <return>"aws"</return>,
                               <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All providers support the following
                               options: : { tlsCaFile: , tlsCertificateKeyFile: ,
                               tlsCertificateKeyFilePassword: , tlsDisableOCSPEndpointCheck:
                               }
                               ]]>schemaMap<info>array</info><info>object</info></info> Map of collection namespaces to a local JSON
                               schema. This is used to configure automatic encryption. See Automatic
                               Encryption Rules in the MongoDB manual for more information. It is an
                               error to specify a collection in both <return>schemaMap</return> and
                               <return>encryptedFieldsMap</return>.  Supplying a <return>schemaMap</return> provides more security
                               than relying on JSON schemas obtained from the server. It protects
                               against a malicious server advertising a false JSON schema, which
                               could trick the client into sending unencrypted data that should be
                               encrypted.  Schemas supplied in the <return>schemaMap</return> only apply to
                               configuring automatic encryption for client side encryption. Other
                               validation rules in the JSON schema will not be enforced by the
                               driver and will result in an error. bypassAutoEncryption<info>bool</info> If <info>true</info>,
                               <return>mongocryptd</return> will not be spawned automatically. This is used to
                               disable automatic encryption. Defaults to <info>false</info>.
                               bypassQueryAnalysis<info>bool</info> If <info>true</info>, automatic analysis of outgoing
                               commands will be disabled and <return>mongocryptd</return> will not be spawned
                               automatically. This enables the use case of explicit encryption for
                               querying indexed fields without requiring the enterprise licensed
                               <return>crypt_shared</return> library or <return>mongocryptd</return> process. Defaults to <info>false</info>.
                               encryptedFieldsMap<info>array</info><info>object</info></info> Map of collection namespaces to an
                               <return>encryptedFields</return> document. This is used to configure queryable
                               encryption. See Field Encryption and Queryability in the MongoDB
                               manual for more information. It is an error to specify a collection
                               in both <return>encryptedFieldsMap</return> and <return>schemaMap</return>.  Supplying an
                               <return>encryptedFieldsMap</return> provides more security than relying on an
                               <return>encryptedFields</return> obtained from the server. It protects against a
                               malicious server advertising a false <return>encryptedFields</return>.
                               extraOptions<info>array</info> The <return>extraOptions</return> relate to the <return>mongocryptd</return> process.
                               The following options are supported: <return>mongocryptdURI</return> (<info>string</info>): URI to
                               connect to an existing <return>mongocryptd</return> process. Defaults to
                               <return>"mongodb://localhost:27020"</return>.<return>mongocryptdBypassSpawn</return> (<info>bool</info>): If <info>true</info>,
                               prevent the driver from spawning <return>mongocryptd</return>. Defaults to
                               <info>false</info>.<return>mongocryptdSpawnPath</return> (<info>string</info>): Absolute path to search for
                               <return>mongocryptd</return> binary. Defaults to empty string and consults system
                               paths.<return>mongocryptdSpawnArgs</return> (<info>array</info>): Array of string arguments to pass
                               to <return>mongocryptd</return> when spawning. Defaults to
                               <return>["--idleShutdownTimeoutSecs=60"]</return>.<return>cryptSharedLibPath</return> (<info>string</info>):
                               Absolute path to <return>crypt_shared</return> shared library. Defaults to empty
                               string and consults system paths.<return>cryptSharedLibRequired</return> (<info>bool</info>): If
                               <info>true</info>, require the driver to load <return>crypt_shared</return>. Defaults to <info>false</info>. See
                               the Client-Side Encryption Specification for more information.
                               
                               A document containing the configuration for one or more KMS
                               providers, which are used to encrypt data keys. Supported providers
                               include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, <return>"kmip"</return>, and <return>"local"</return> and at least one
                               must be specified.
                               
                               If an empty document is specified for <return>"aws"</return>, <return>"azure"</return>, or <return>"gcp"</return>, the
                               driver will attempt to configure the provider using Automatic
                               Credentials.
                               
                               The format for <return>"aws"</return> is as follows:
                               
                               The format for <return>"azure"</return> is as follows:
                               
                               The format for <return>"gcp"</return> is as follows:
                               
                               The format for <return>"kmip"</return> is as follows:
                               
                               The format for <return>"local"</return> is as follows:
                               
                               A document containing the TLS configuration for one or more KMS
                               providers. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, and
                               <return>"kmip"</return>. All providers support the following options:
                               
                               Map of collection namespaces to a local JSON schema. This is used to
                               configure automatic encryption. See Automatic Encryption Rules in the
                               MongoDB manual for more information. It is an error to specify a
                               collection in both <return>schemaMap</return> and <return>encryptedFieldsMap</return>.
                               
                               Supplying a <return>schemaMap</return> provides more security than relying on JSON
                               schemas obtained from the server. It protects against a malicious
                               server advertising a false JSON schema, which could trick the client
                               into sending unencrypted data that should be encrypted.
                               
                               Schemas supplied in the <return>schemaMap</return> only apply to configuring automatic
                               encryption for client side encryption. Other validation rules in the
                               JSON schema will not be enforced by the driver and will result in an
                               error.
                               
                               If <info>true</info>, automatic analysis of outgoing commands will be disabled and
                               <return>mongocryptd</return> will not be spawned automatically. This enables the use
                               case of explicit encryption for querying indexed fields without
                               requiring the enterprise licensed <return>crypt_shared</return> library or <return>mongocryptd</return>
                               process. Defaults to <info>false</info>.
                               
                               Map of collection namespaces to an <return>encryptedFields</return> document. This is
                               used to configure queryable encryption. See Field Encryption and
                               Queryability in the MongoDB manual for more information. It is an
                               error to specify a collection in both <return>encryptedFieldsMap</return> and
                               <return>schemaMap</return>.
                               
                               Supplying an <return>encryptedFieldsMap</return> provides more security than relying
                               on an <return>encryptedFields</return> obtained from the server. It protects against a
                               malicious server advertising a false <return>encryptedFields</return>.
                               
                               The <return>extraOptions</return> relate to the <return>mongocryptd</return> process. The following
                               options are supported:
                               
                               See the Client-Side Encryption Specification for more information.
                               
                               Automatic encryption is an enterprise only feature that only applies
                               to operations on a collection. Automatic encryption is not supported
                               for operations on a database or view, and operations that are not
                               bypassed will result in error. To bypass automatic encryption for all
                               operations, set <return>bypassAutoEncryption=true</return> in <return>autoEncryption</return>. For more
                               information on allowed operations, see the Client-Side Encryption
                               Specification.
                               
                               Path to a correctly hashed certificate directory. The system
                               certificate store will be used by default.
                               
                               Path to file with either a single or bundle of certificate
                               authorities to be considered trusted when making a TLS connection.
                               The system certificate store will be used by default.
                               
                               This option is a deprecated alias for the <return>"tlsCAFile"</return> URI option.
                               
                               SSL context options to be used as fallbacks if a driver option or its
                               equivalent URI option, if any, is not specified. Note that the driver
                               does not consult the default stream context (i.e.
                               <strong>stream_context_get_default()</strong>). The following context options are
                               supported:
                               
                               This option is supported for backwards compatibility, but should be
                               considered deprecated.
                               
                               If <info>true</info>, this Manager will use a new libmongoc client, which will not
                               be persisted or shared with other Manager objects. When this Manager
                               object is freed, its client will be destroyed and any connections
                               will be closed. Defaults to <info>false</info>.
                               
                               Disabling client persistence is not generally recommended.
                               
                               Allows custom drivers to append their own metadata to the server
                               handshake. By default, the driver submits its own name, version, and
                               platform (i.e. PHP version) in the handshake. Custom drivers can
                               specify strings for the <return>"name"</return>, <return>"version"</return>, and <return>"platform"</return> keys of
                               this array, which will be appended to the respective field(s) in the
                               handshake document.
                               
                               Handshake information is limited to 512 bytes. The driver will
                               truncate handshake data to fit within this 512-byte string. Drivers
                               and ODMs are encouraged to keep their own metadata concise.
                               
                               Path to a PEM encoded certificate to use for client authentication.
                               
                               This option is a deprecated alias for the <return>"tlsCertificateKeyFile"</return> URI
                               option.
                               
                               Passphrase for the PEM encoded certificate (if applicable).
                               
                               This option is a deprecated alias for the
                               <return>"tlsCertificateKeyFilePassword"</return> URI option.
                               
                               This option is used to declare a server API version for the manager.
                               If omitted, no API version is declared.
                               
                               Disables certificate validation if <info>true</info>. Defaults to <info>false</info>
                               
                               This option is a deprecated alias for the
                               <return>"tlsAllowInvalidCertificates"</return> URI option.

<comment>See Also:</comment>
   * Connection handling and persistence
   * MongoDB Connection String Format


id: MongoDB\Driver\Manager::addSubscriber
type: function
doc:
<comment>Description:</comment>
  Registers a monitoring event subscriber with this Manager
  
  Registers a monitoring event subscriber with this Manager. The subscriber will be notified of all
  events for this Manager.
  
  If <strong>$subscriber</strong> is already registered with this Manager, this function is a no-op. If <strong>$subscriber</strong>
  is also registered globally, it will still only be notified once of each event for this Manager.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\Subscriber</info>  <strong>$subscriber</strong>  A monitoring event subscriber to register with
                                                     this Manager.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::removeSubscriber()</strong>
   * MongoDB\Driver\Monitoring\Subscriber
   * MongoDB\Driver\Monitoring\CommandSubscriber
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * 


id: MongoDB\Driver\Manager::createClientEncryption
type: function
doc:
<comment>Description:</comment>
  Create a new ClientEncryption object
  
  Constructs a new <class>MongoDB\Driver\ClientEncryption</class> object with the specified options.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  optionsOptionTypeDescriptionkeyVaultClient<class>MongoDB\Driver\Manager</class>The Manager used
                   to route data key queries to a separate MongoDB cluster. By default, the current
                   Manager and cluster is used.keyVaultNamespace<info>string</info>A fully qualified namespace
                   (e.g. <return>"databaseName.collectionName"</return>) denoting the collection that contains all
                   data keys used for encryption and decryption.kmsProviders<info>array</info> A document
                   containing the configuration for one or more KMS providers, which are used to
                   encrypt data keys. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, <return>"kmip"</return>, and
                   <return>"local"</return> and at least one must be specified.  If an empty document is specified
                   for <return>"aws"</return>, <return>"azure"</return>, or <return>"gcp"</return>, the driver will attempt to configure the provider
                   using Automatic Credentials.  The format for <return>"aws"</return> is as follows: ,
                   secretAccessKey: , sessionToken:
                   }
                   ]]> The format for <return>"azure"</return> is as follows: , clientId: , clientSecret: ,
                   identityPlatformEndpoint:  // Defaults to "login.microsoftonline.com"
                   }
                   ]]> The format for <return>"gcp"</return> is as follows: , privateKey: |, endpoint:  // Defaults
                   to "oauth2.googleapis.com"
                   }
                   ]]> The format for <return>"kmip"</return> is as follows: 
                   }
                   ]]> The format for <return>"local"</return> is as follows: |
                   }
                   ]]>tlsOptions<info>array</info> A document containing the TLS configuration for one or more
                   KMS providers. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All
                   providers support the following options: : { tlsCaFile: , tlsCertificateKeyFile:
                   , tlsCertificateKeyFilePassword: , tlsDisableOCSPEndpointCheck:
                   }
                   ]]>
                   
                   A document containing the configuration for one or more KMS providers, which are
                   used to encrypt data keys. Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>,
                   <return>"kmip"</return>, and <return>"local"</return> and at least one must be specified.
                   
                   If an empty document is specified for <return>"aws"</return>, <return>"azure"</return>, or <return>"gcp"</return>, the driver will
                   attempt to configure the provider using Automatic Credentials.
                   
                   The format for <return>"aws"</return> is as follows:
                   
                   The format for <return>"azure"</return> is as follows:
                   
                   The format for <return>"gcp"</return> is as follows:
                   
                   The format for <return>"kmip"</return> is as follows:
                   
                   The format for <return>"local"</return> is as follows:
                   
                   A document containing the TLS configuration for one or more KMS providers.
                   Supported providers include <return>"aws"</return>, <return>"azure"</return>, <return>"gcp"</return>, and <return>"kmip"</return>. All providers
                   support the following options:

<comment>Return:</comment>
  <info>MongoDB\Driver\ClientEncryption</info>  Returns a new <class>MongoDB\Driver\ClientEncryption</class> instance.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\ClientEncryption::__construct()</strong>
   * Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual


id: MongoDB\Driver\Manager::executeBulkWrite
type: function
doc:
<comment>Description:</comment>
  Execute one or more write operations
  
  Executes one or more write operations on the primary server.
  
  A <class>MongoDB\Driver\BulkWrite</class> can be constructed with one or more write operations of varying types
  (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type
  to the server in as few requests as possible to optimize round trips.

<comment>Param:</comment>
  <info>string</info>                                  <strong>$namespace</strong>  A fully qualified namespace (e.g.
                                                      <return>"databaseName.collectionName"</return>).
  <info>MongoDB\Driver\BulkWrite</info>                <strong>$bulk</strong>       The write(s) to execute.
  <info>array|MongoDB\Driver\WriteConcern|null</info>  <strong>$options</strong>    
                                                      optionsOptionTypeDescriptionsession<class>MongoDB\Driver\Session</class>
                                                      A session to associate with the operation.
                                                      writeConcern<class>MongoDB\Driver\WriteConcern</class> A
                                                      write concern to apply to the operation.
                                                      
                                                      A session to associate with the operation.
                                                      
                                                      A write concern to apply to the operation.

<comment>Return:</comment>
  <info>MongoDB\Driver\WriteResult</info>  Returns <class>MongoDB\Driver\WriteResult</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\BulkWrite</class>
   * <class>MongoDB\Driver\WriteResult</class>
   * <class>MongoDB\Driver\WriteConcern</class>
   * <strong>MongoDB\Driver\Server::executeBulkWrite()</strong>


id: MongoDB\Driver\Manager::executeCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command
  
  Selects a server according to the <return>"readPreference"</return> option and executes the command on that server.
  By default, the primary server will be selected.
  
  This method applies no special logic to the command. Although this method accepts <return>"readConcern"</return>
  and <return>"writeConcern"</return> options, which will be incorporated into the command document, those options
  will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB
  server version be taken into account. Users are therefore encouraged to use specific read and/or
  write command methods if possible.

<comment>Param:</comment>
  <info>string</info>                                    <strong>$db</strong>       The name of the database on which to execute
                                                      the command.
  <info>MongoDB\Driver\Command</info>                    <strong>$command</strong>  The command to execute.
  <info>array|MongoDB\Driver\ReadPreference|null</info>  <strong>$options</strong>  
                                                      optionsOptionTypeDescriptionreadConcern<class>MongoDB\Driver\ReadConcern</class>
                                                      A read concern to apply to the operation.
                                                      This option is available in MongoDB 3.2+ and
                                                      will result in an exception at execution time
                                                      if specified for an older server version.
                                                      readPreference<class>MongoDB\Driver\ReadPreference</class> A
                                                      read preference to use for selecting a server
                                                      for the operation.
                                                      session<class>MongoDB\Driver\Session</class> A session to
                                                      associate with the operation.
                                                      writeConcern<class>MongoDB\Driver\WriteConcern</class> A
                                                      write concern to apply to the operation.
                                                      
                                                      A read concern to apply to the operation.
                                                      
                                                      This option is available in MongoDB 3.2+ and
                                                      will result in an exception at execution time
                                                      if specified for an older server version.
                                                      
                                                      A read preference to use for selecting a
                                                      server for the operation.
                                                      
                                                      A session to associate with the operation.
                                                      
                                                      A write concern to apply to the operation.
                                                      
                                                      If you are using a <return>"session"</return> which has a
                                                      transaction in progress, you cannot specify a
                                                      <return>"readConcern"</return> or <return>"writeConcern"</return> option. This
                                                      will result in an
                                                      <class>MongoDB\Driver\Exception\InvalidArgumentException</class>
                                                      being thrown. Instead, you should set these
                                                      two options when you create the transaction
                                                      with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Manager::executeReadCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadWriteCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeCommand()</strong>


id: MongoDB\Driver\Manager::executeQuery
type: function
doc:
<comment>Description:</comment>
  Execute a database query
  
  Selects a server according to the <return>"readPreference"</return> option and executes the query on that server.
  By default, the read preference from the MongoDB Connection URI will be used.

<comment>Param:</comment>
  <info>string</info>                                    <strong>$namespace</strong>  A fully qualified namespace (e.g.
                                                        <return>"databaseName.collectionName"</return>).
  <info>MongoDB\Driver\Query</info>                      <strong>$query</strong>      The query to execute.
  <info>array|MongoDB\Driver\ReadPreference|null</info>  <strong>$options</strong>    
                                                        optionsOptionTypeDescriptionreadPreference<class>MongoDB\Driver\ReadPreference</class>
                                                        A read preference to use for selecting a
                                                        server for the operation.
                                                        session<class>MongoDB\Driver\Session</class> A session to
                                                        associate with the operation.
                                                        
                                                        A read preference to use for selecting a
                                                        server for the operation.
                                                        
                                                        A session to associate with the operation.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Cursor</class>
   * <class>MongoDB\Driver\Query</class>
   * <class>MongoDB\Driver\ReadPreference</class>
   * <strong>MongoDB\Driver\Server::executeQuery()</strong>


id: MongoDB\Driver\Manager::executeReadCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command that reads
  
  Selects a server according to the <return>"readPreference"</return> option and executes the command on that server.
  By default, the read preference from the MongoDB Connection URI will be used.
  
  This method will apply logic that is specific to commands that read (e.g. count) and take the
  MongoDB server version into account. The <return>"readConcern"</return> option will default to the corresponding
  value from the MongoDB Connection URI.

<comment>Param:</comment>
  <info>string</info>                  <strong>$db</strong>       The name of the database on which to execute the command.
  <info>MongoDB\Driver\Command</info>  <strong>$command</strong>  The command to execute.
  <info>array|null</info>              <strong>$options</strong>  
                                    optionsOptionTypeDescriptionreadConcern<class>MongoDB\Driver\ReadConcern</class>
                                    A read concern to apply to the operation.  This option is
                                    available in MongoDB 3.2+ and will result in an exception at
                                    execution time if specified for an older server version.
                                    readPreference<class>MongoDB\Driver\ReadPreference</class> A read preference to
                                    use for selecting a server for the operation.
                                    session<class>MongoDB\Driver\Session</class> A session to associate with the
                                    operation.
                                    
                                    A read concern to apply to the operation.
                                    
                                    This option is available in MongoDB 3.2+ and will result in an
                                    exception at execution time if specified for an older server
                                    version.
                                    
                                    A read preference to use for selecting a server for the
                                    operation.
                                    
                                    A session to associate with the operation.
                                    
                                    If you are using a <return>"session"</return> which has a transaction in
                                    progress, you cannot specify a <return>"readConcern"</return> or <return>"writeConcern"</return>
                                    option. This will result in an
                                    <class>MongoDB\Driver\Exception\InvalidArgumentException</class> being thrown.
                                    Instead, you should set these two options when you create the
                                    transaction with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadWriteCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeReadCommand()</strong>


id: MongoDB\Driver\Manager::executeReadWriteCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command that reads and writes
  
  Executes the command on the primary server.
  
  This method will apply logic that is specific to commands that read and write (e.g. aggregate) and
  take the MongoDB server version into account. The <return>"readConcern"</return> and <return>"writeConcern"</return> options will
  default to the corresponding values from the MongoDB Connection URI.

<comment>Param:</comment>
  <info>string</info>                  <strong>$db</strong>       The name of the database on which to execute the command.
  <info>MongoDB\Driver\Command</info>  <strong>$command</strong>  The command to execute.
  <info>array|null</info>              <strong>$options</strong>  
                                    optionsOptionTypeDescriptionreadConcern<class>MongoDB\Driver\ReadConcern</class>
                                    A read concern to apply to the operation.  This option is
                                    available in MongoDB 3.2+ and will result in an exception at
                                    execution time if specified for an older server version.
                                    session<class>MongoDB\Driver\Session</class> A session to associate with the
                                    operation. writeConcern<class>MongoDB\Driver\WriteConcern</class> A write
                                    concern to apply to the operation.
                                    
                                    A read concern to apply to the operation.
                                    
                                    This option is available in MongoDB 3.2+ and will result in an
                                    exception at execution time if specified for an older server
                                    version.
                                    
                                    A session to associate with the operation.
                                    
                                    A write concern to apply to the operation.
                                    
                                    If you are using a <return>"session"</return> which has a transaction in
                                    progress, you cannot specify a <return>"readConcern"</return> or <return>"writeConcern"</return>
                                    option. This will result in an
                                    <class>MongoDB\Driver\Exception\InvalidArgumentException</class> being thrown.
                                    Instead, you should set these two options when you create the
                                    transaction with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeReadWriteCommand()</strong>


id: MongoDB\Driver\Manager::executeWriteCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command that writes
  
  Executes the command on the primary server.
  
  This method will apply logic that is specific to commands that write (e.g. drop) and take the
  MongoDB server version into account. The <return>"writeConcern"</return> option will default to the corresponding
  value from the MongoDB Connection URI.
  
  This method is not intended to be used to execute insert, update, or delete commands. Users are
  encouraged to use <strong>MongoDB\Driver\Manager::executeBulkWrite()</strong> for those commands.

<comment>Param:</comment>
  <info>string</info>                  <strong>$db</strong>       The name of the database on which to execute the command.
  <info>MongoDB\Driver\Command</info>  <strong>$command</strong>  The command to execute.
  <info>array|null</info>              <strong>$options</strong>  optionsOptionTypeDescriptionsession<class>MongoDB\Driver\Session</class> A
                                    session to associate with the operation.
                                    writeConcern<class>MongoDB\Driver\WriteConcern</class> A write concern to apply
                                    to the operation.
                                    
                                    A session to associate with the operation.
                                    
                                    A write concern to apply to the operation.
                                    
                                    If you are using a <return>"session"</return> which has a transaction in
                                    progress, you cannot specify a <return>"readConcern"</return> or <return>"writeConcern"</return>
                                    option. This will result in an
                                    <class>MongoDB\Driver\Exception\InvalidArgumentException</class> being thrown.
                                    Instead, you should set these two options when you create the
                                    transaction with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeWriteCommand()</strong>


id: MongoDB\Driver\Manager::getEncryptedFieldsMap
type: function
doc:
<comment>Description:</comment>
  Return the encryptedFieldsMap auto encryption option for the Manager
  
  Returns the <return>encryptedFieldsMap</return> auto encryption option for the Manager, if specified.

<comment>Return:</comment>
  <info>array|object|null</info>  The <return>encryptedFieldsMap</return> auto encryption option for the Manager, or <info>null</info> if it
                     was not specified.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::__construct()</strong>


id: MongoDB\Driver\Manager::getReadConcern
type: function
doc:
<comment>Description:</comment>
  Return the ReadConcern for the Manager
  
  Returns the <class>MongoDB\Driver\ReadConcern</class> for the Manager, which is derived from its URI options.
  This is the default read concern for queries and commands executed on the Manager.

<comment>Return:</comment>
  <info>MongoDB\Driver\ReadConcern</info>  The <class>MongoDB\Driver\ReadConcern</class> for the Manager.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\ReadConcern</class>
   * <strong>MongoDB\Driver\Manager::__construct()</strong>


id: MongoDB\Driver\Manager::getReadPreference
type: function
doc:
<comment>Description:</comment>
  Return the ReadPreference for the Manager
  
  Returns the <class>MongoDB\Driver\ReadPreference</class> for the Manager, which is derived from its URI options.
  This is the default read preference for queries and commands executed on the Manager.

<comment>Return:</comment>
  <info>MongoDB\Driver\ReadPreference</info>  The <class>MongoDB\Driver\ReadPreference</class> for the Manager.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\ReadPreference</class>
   * <strong>MongoDB\Driver\Manager::__construct()</strong>


id: MongoDB\Driver\Manager::getServers
type: function
doc:
<comment>Description:</comment>
  Return the servers to which this manager is connected
  
  Returns an <info>array</info> of <class>MongoDB\Driver\Server</class> instances to which this manager is connected.
  
  Since the driver connects to the database lazily, this method may return an empty <info>array</info> if called
  before executing an operation on the <class>MongoDB\Driver\Manager</class>.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of <class>MongoDB\Driver\Server</class> instances to which this manager is connected.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Server</class>
   * <strong>MongoDB\Driver\Manager::selectServer()</strong>


id: MongoDB\Driver\Manager::getWriteConcern
type: function
doc:
<comment>Description:</comment>
  Return the WriteConcern for the Manager
  
  Returns the <class>MongoDB\Driver\WriteConcern</class> for the Manager, which is derived from its URI options.
  This is the default write concern for writes and commands executed on the Manager.

<comment>Return:</comment>
  <info>MongoDB\Driver\WriteConcern</info>  The <class>MongoDB\Driver\WriteConcern</class> for the Manager.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\WriteConcern</class>
   * <strong>MongoDB\Driver\Manager::__construct()</strong>


id: MongoDB\Driver\Manager::removeSubscriber
type: function
doc:
<comment>Description:</comment>
  Unregisters a monitoring event subscriber with this Manager
  
  Unregisters a monitoring event subscriber with this Manager.
  
  If <strong>$subscriber</strong> is not already registered with this Manager, this function is a no-op.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\Subscriber</info>  <strong>$subscriber</strong>  A monitoring event subscriber to unregister
                                                     with this Manager.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>
   * MongoDB\Driver\Monitoring\Subscriber
   * MongoDB\Driver\Monitoring\CommandSubscriber
   * <strong>MongoDB\Driver\Monitoring\removeSubscriber()</strong>
   * 


id: MongoDB\Driver\Manager::selectServer
type: function
doc:
<comment>Description:</comment>
  Select a server matching a read preference
  
  Selects a <class>MongoDB\Driver\Server</class> matching <strong>$readPreference</strong>. If <strong>$readPreference</strong> is <info>null</info> or omitted,
  the primary server will be selected by default. This may be used to preselect a server in order to
  perform version checking before executing an operation.
  
  Unlike <strong>MongoDB\Driver\Manager::getServers()</strong>, this method will initialize database connections and
  perform server discovery if necessary. See the Server Selection Specification for additional
  information.

<comment>Param:</comment>
  <info>MongoDB\Driver\ReadPreference|null</info>  <strong>$readPreference</strong>  The read preference to use for selecting a
                                                       server. If <info>null</info> or omitted, the primary
                                                       server will be selected by default.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns a <class>MongoDB\Driver\Server</class> matching the read preference.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Server</class>
   * <strong>MongoDB\Driver\Manager::getServers()</strong>
   * Server Selection Specification


id: MongoDB\Driver\Manager::startSession
type: function
doc:
<comment>Description:</comment>
  Start a new client session for use with this client
  
  Creates a <class>MongoDB\Driver\Session</class> for the given options. The session may then be specified when
  executing commands, queries, and write operations.
  
  A <class>MongoDB\Driver\Session</class> can only be used with the <class>MongoDB\Driver\Manager</class> from which it was
  created.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  optionsOptionTypeDescriptionDefaultcausalConsistency<info>bool</info> Configure causal
                        consistency in a session. If <info>true</info>, each operation in the session will be
                        causally ordered after the previous read or write operation. Set to <info>false</info> to
                        disable causal consistency.  See Casual Consistency in the MongoDB manual
                        for more information. <info>true</info>defaultTransactionOptions<info>array</info> Default options to
                        apply to newly created transactions. These options are used unless they are
                        overridden when a transaction is started with different value for each
                        option. optionsOptionTypeDescriptionmaxCommitTimeMSinteger The maximum
                        amount of time in milliseconds to allow a single <return>commitTransaction</return> command
                        to run.  If specified, <return>maxCommitTimeMS</return> must be a signed 32-bit integer
                        greater than or equal to zero. readConcern<class>MongoDB\Driver\ReadConcern</class> A read
                        concern to apply to the operation.  This option is available in MongoDB 3.2+
                        and will result in an exception at execution time if specified for an older
                        server version. readPreference<class>MongoDB\Driver\ReadPreference</class> A read
                        preference to use for selecting a server for the operation.
                        writeConcern<class>MongoDB\Driver\WriteConcern</class> A write concern to apply to the
                        operation.  This option is available in MongoDB 4.0+. <return>[]</return>snapshot<info>bool</info>
                        Configure snapshot reads in a session. If <info>true</info>, a timestamp will be obtained
                        from the first supported read operation in the session (i.e. <return>find</return>,
                        <return>aggregate</return>, or unsharded <return>distinct</return>). Subsequent read operations within the
                        session will then utilize a <return>"snapshot"</return> read concern level to read
                        majority-committed data from that timestamp. Set to <info>false</info> to disable
                        snapshot reads.  Snapshot reads require MongoDB 5.0+ and cannot be used with
                        causal consistency, transactions, or write operations. If <return>"snapshot"</return> is
                        <info>true</info>, <return>"causalConsistency"</return> will default to <info>false</info>.  See Read Concern
                        "snapshot" in the MongoDB manual for more information. <info>false</info>
                        
                        Configure causal consistency in a session. If <info>true</info>, each operation in the
                        session will be causally ordered after the previous read or write operation.
                        Set to <info>false</info> to disable causal consistency.
                        
                        See Casual Consistency in the MongoDB manual for more information.
                        
                        Default options to apply to newly created transactions. These options are
                        used unless they are overridden when a transaction is started with different
                        value for each option.
                        
                        optionsOptionTypeDescriptionmaxCommitTimeMSinteger The maximum amount of
                        time in milliseconds to allow a single <return>commitTransaction</return> command to run.  If
                        specified, <return>maxCommitTimeMS</return> must be a signed 32-bit integer greater than or
                        equal to zero. readConcern<class>MongoDB\Driver\ReadConcern</class> A read concern to apply
                        to the operation.  This option is available in MongoDB 3.2+ and will result
                        in an exception at execution time if specified for an older server version.
                        readPreference<class>MongoDB\Driver\ReadPreference</class> A read preference to use for
                        selecting a server for the operation.
                        writeConcern<class>MongoDB\Driver\WriteConcern</class> A write concern to apply to the
                        operation.
                        
                        The maximum amount of time in milliseconds to allow a single
                        <return>commitTransaction</return> command to run.
                        
                        If specified, <return>maxCommitTimeMS</return> must be a signed 32-bit integer greater than
                        or equal to zero.
                        
                        A read concern to apply to the operation.
                        
                        This option is available in MongoDB 3.2+ and will result in an exception at
                        execution time if specified for an older server version.
                        
                        A read preference to use for selecting a server for the operation.
                        
                        A write concern to apply to the operation.
                        
                        This option is available in MongoDB 4.0+.
                        
                        Configure snapshot reads in a session. If <info>true</info>, a timestamp will be obtained
                        from the first supported read operation in the session (i.e. <return>find</return>,
                        <return>aggregate</return>, or unsharded <return>distinct</return>). Subsequent read operations within the
                        session will then utilize a <return>"snapshot"</return> read concern level to read
                        majority-committed data from that timestamp. Set to <info>false</info> to disable
                        snapshot reads.
                        
                        Snapshot reads require MongoDB 5.0+ and cannot be used with causal
                        consistency, transactions, or write operations. If <return>"snapshot"</return> is <info>true</info>,
                        <return>"causalConsistency"</return> will default to <info>false</info>.
                        
                        See Read Concern "snapshot" in the MongoDB manual for more information.

<comment>Return:</comment>
  <info>MongoDB\Driver\Session</info>  Returns a <class>MongoDB\Driver\Session</class>.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Session</class>
   * Casual Consistency in the MongoDB manual


id: MongoDB\Driver\Monitoring\CommandFailedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\CommandFailedEvent</class> class encapsulates information about a failed
  command.


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName
type: function
doc:
<comment>Description:</comment>
  Returns the command name
  
  Returns the command name (e.g. <return>"find"</return>, <return>"aggregate"</return>).

<comment>Return:</comment>
  <info>string</info>  Returns the command name.

<comment>See Also:</comment>
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros
type: function
doc:
<comment>Description:</comment>
  Returns the command's duration in microseconds
  
  The command's duration is a calculated value that includes the time to send the message and
  receive the reply from the server.

<comment>Return:</comment>
  <info>int</info>  Returns the command's duration in microseconds.

<comment>See Also:</comment>
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getError
type: function
doc:
<comment>Description:</comment>
  Returns the Exception associated with the failed command

<comment>Return:</comment>
  <info>Exception</info>  Returns the <class>Exception</class> associated with the failed command.

<comment>See Also:</comment>
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId
type: function
doc:
<comment>Description:</comment>
  Returns the command's operation ID
  
  The operation ID is generated by the driver and may be used to link events together such as bulk
  write operations, which may have been split across several commands at the protocol level.
  
  Since multiple commands may share the same operation ID, it is not reliable to use this value to
  associate event objects with each other. The request ID returned by
  MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId should be used instead.

<comment>Return:</comment>
  <info>string</info>  Returns the command's operation ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId
   * MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getReply
type: function
doc:
<comment>Description:</comment>
  Returns the command reply document
  
  The reply document will be converted from BSON to PHP using the default deserialization rules
  (e.g. BSON documents will be converted to <info>stdClass</info>).

<comment>Return:</comment>
  <info>object</info>  Returns the command reply document as a <class>stdClass</class> object.

<comment>See Also:</comment>
   * 
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId
type: function
doc:
<comment>Description:</comment>
  Returns the command's request ID
  
  The request ID is generated by the driver and may be used to associate this
  <class>MongoDB\Driver\Monitoring\CommandFailedEvent</class> with a previous
  <class>MongoDB\Driver\Monitoring\CommandStartedEvent</class>.

<comment>Return:</comment>
  <info>string</info>  Returns the command's request ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getServer
type: function
doc:
<comment>Description:</comment>
  Returns the Server on which the command was executed
  
  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getServer
   * 


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId
type: function
doc:
<comment>Description:</comment>
  Returns the server connection ID for the command
  
  Returns the server connection ID for the command. The server connection ID is distinct from server
  (i.e. <strong>MongoDB\Driver\Monitoring\CommandFailedEvent::getServer()</strong>) and is returned in the
  "connectionId" field of a <return>hello</return> command response MongoDB 4.2+.

<comment>Return:</comment>
  <info>int|null</info>  Returns the server connection ID, or <info>null</info> if it is not available.


id: MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId
type: function
doc:
<comment>Description:</comment>
  Returns the load balancer service ID for the command
  
  When the driver is connected to a MongoDB cluster through a load balancer, the service ID
  corresponds to the <return>serviceId</return> field in the <return>hello</return> command response.

<comment>Return:</comment>
  <info>MongoDB\BSON\ObjectId|null</info>  Returns the load balancer service ID, or <info>null</info> if the driver is not
                              connected to a load balancer.


id: MongoDB\Driver\Monitoring\CommandStartedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\CommandStartedEvent</class> class encapsulates information about a started
  command.


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand
type: function
doc:
<comment>Description:</comment>
  Returns the command document
  
  The reply document will be converted from BSON to PHP using the default deserialization rules
  (e.g. BSON documents will be converted to <info>stdClass</info>).

<comment>Return:</comment>
  <info>object</info>  Returns the command document as a <class>stdClass</class> object.

<comment>See Also:</comment>
   * 
   * 


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName
type: function
doc:
<comment>Description:</comment>
  Returns the database on which the command was executed

<comment>Return:</comment>
  <info>string</info>  Returns the database on which the command was executed.

<comment>See Also:</comment>
   * 


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId
type: function
doc:
<comment>Description:</comment>
  Returns the command's operation ID
  
  The operation ID is generated by the driver and may be used to link events together such as bulk
  write operations, which may have been split across several commands at the protocol level.
  
  Since multiple commands may share the same operation ID, it is not reliable to use this value to
  associate event objects with each other. The request ID returned by
  MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId should be used instead.

<comment>Return:</comment>
  <info>string</info>  Returns the command's operation ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId
   * MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
type: function
doc:
<comment>Description:</comment>
  Returns the command's request ID
  
  The request ID is generated by the driver and may be used to associate this
  <class>MongoDB\Driver\Monitoring\CommandStartedEvent</class> with a later
  <class>MongoDB\Driver\Monitoring\CommandFailedEvent</class> or <class>MongoDB\Driver\Monitoring\CommandSucceededEvent</class>.

<comment>Return:</comment>
  <info>string</info>  Returns the command's request ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId
   * MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getServer
type: function
doc:
<comment>Description:</comment>
  Returns the Server on which the command was executed
  
  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandFailedEvent::getServer
   * MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer
   * 


id: MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId
type: function
doc:
<comment>Description:</comment>
  Returns the server connection ID for the command
  
  Returns the server connection ID for the command. The server connection ID is distinct from server
  (i.e. <strong>MongoDB\Driver\Monitoring\CommandStartedEvent::getServer()</strong>) and is returned in the
  "connectionId" field of a <return>hello</return> command response MongoDB 4.2+.

<comment>Return:</comment>
  <info>int|null</info>  Returns the server connection ID, or <info>null</info> if it is not available.


id: MongoDB\Driver\Monitoring\CommandSubscriber
type: class
doc:
<comment>Description:</comment>
  Classes may implement this interface to register an event subscriber that is notified for each
  started, successful, and failed command event. See  for additional information.


id: MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed
type: function
doc:
<comment>Description:</comment>
  Notification method for a failed command
  
  If the subscriber has been registered, the driver will call this method when a command has failed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\CommandFailedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                        about the failed command.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\CommandFailedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>
   * 


id: MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted
type: function
doc:
<comment>Description:</comment>
  Notification method for a started command
  
  If the subscriber has been registered, the driver will call this method when a command has
  started.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\CommandStartedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                         about the started command.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\CommandStartedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>
   * 


id: MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded
type: function
doc:
<comment>Description:</comment>
  Notification method for a successful command
  
  If the subscriber has been registered, the driver will call this method when a command has
  succeeded.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\CommandSucceededEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                           about the successful command.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\CommandSucceededEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>
   * 


id: MongoDB\Driver\Monitoring\CommandSucceededEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\CommandSucceededEvent</class> class encapsulates information about a
  successful command.


id: MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId
type: function
doc:
<comment>Description:</comment>
  Returns the command's operation ID
  
  The operation ID is generated by the driver and may be used to link events together such as bulk
  write operations, which may have been split across several commands at the protocol level.
  
  Since multiple commands may share the same operation ID, it is not reliable to use this value to
  associate event objects with each other. The request ID returned by
  MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId should be used instead.

<comment>Return:</comment>
  <info>string</info>  Returns the command's operation ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId
   * MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId
type: function
doc:
<comment>Description:</comment>
  Returns the command's request ID
  
  The request ID is generated by the driver and may be used to associate this
  <class>MongoDB\Driver\Monitoring\CommandSucceededEvent</class> with a previous
  <class>MongoDB\Driver\Monitoring\CommandStartedEvent</class>.

<comment>Return:</comment>
  <info>string</info>  Returns the command's request ID.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
   * 


id: MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer
type: function
doc:
<comment>Description:</comment>
  Returns the Server on which the command was executed
  
  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>Return:</comment>
  <info>MongoDB\Driver\Server</info>  Returns the <class>MongoDB\Driver\Server</class> on which the command was executed.

<comment>See Also:</comment>
   * MongoDB\Driver\Monitoring\CommandStartedEvent::getServer
   * MongoDB\Driver\Cursor::getServer
   * MongoDB\Driver\WriteResult::getServer
   * 


id: MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId
type: function
doc:
<comment>Description:</comment>
  Returns the server connection ID for the command
  
  Returns the server connection ID for the command. The server connection ID is distinct from server
  (i.e. <strong>MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer()</strong>) and is returned in the
  "connectionId" field of a <return>hello</return> command response MongoDB 4.2+.

<comment>Return:</comment>
  <info>int|null</info>  Returns the server connection ID, or <info>null</info> if it is not available.


id: MongoDB\Driver\Monitoring\LogSubscriber
type: class
doc:
<comment>Description:</comment>
  Classes implementing this interface may be registered as a subscriber and receive log messages
  from the driver. This is similar to stream-based debug logging (i.e. mongodb.debug) except that
  trace-level log messages are not received.
  
  As with stream-based logging, it is only possible to register a logger globally using
  <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>. The driver is not able to distinguish log messages for
  individual <class>MongoDB\Driver\Manager</class> objects.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_CRITICAL
type: constant
doc:
<comment>Description:</comment>
  Critical log level. An error condition with slightly less severity. This constant exists for
  consistency with libmongoc; however, the driver is unlikely to use it in practice.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_DEBUG
type: constant
doc:
<comment>Description:</comment>
  Debug log level. Detailed information that may be helpful when debugging an application.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_ERROR
type: constant
doc:
<comment>Description:</comment>
  Error log level. An error condition that the driver is unable to report through its API. This is
  the most severe log level in the driver.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_INFO
type: constant
doc:
<comment>Description:</comment>
  Info log level. High-level information about normal driver behavior.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_MESSAGE
type: constant
doc:
<comment>Description:</comment>
  Message or notice log level. Indicates an event that is unusual but not problematic.


id: MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_WARNING
type: constant
doc:
<comment>Description:</comment>
  Warning log level. Indicates a situation where undesirable application behavior may occur.


id: MongoDB\Driver\Monitoring\LogSubscriber::log
type: function
doc:
<comment>Description:</comment>
  Notification method for a log message
  
  If the subscriber has been registered, the driver will call this method for each logged message.

<comment>Param:</comment>
  <info>int</info>     <strong>$level</strong>    The severity level. This will be one of the interface constants.
  <info>string</info>  <strong>$domain</strong>   The name of the driver component that emitted the log message.
  <info>string</info>  <strong>$message</strong>  The log message.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber
type: class
doc:
<comment>Description:</comment>
  Classes may implement this interface to register an event subscriber that is notified for various
  SDAM events. See the Server Discovery and Monitoring and SDAM Monitoring specifications for
  additional information.


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged
type: function
doc:
<comment>Description:</comment>
  Notification method for a server description change
  
  If the subscriber has been registered, the driver will call this method when a server's
  description has changed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerChangedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                        about the changed server description.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerChangedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed
type: function
doc:
<comment>Description:</comment>
  Notification method for closing a server
  
  If the subscriber has been registered, the driver will call this method when a server is closed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerClosedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                       about the closed server.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerClosedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed
type: function
doc:
<comment>Description:</comment>
  Notification method for a failed server heartbeat
  
  If the subscriber has been registered, the driver will call this method when a server heartbeat
  (i.e. hello command issued through server monitoring) has failed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent</info>  <strong>$event</strong>  An event object encapsulating
                                                                information about the failed server
                                                                heartbeat.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted
type: function
doc:
<comment>Description:</comment>
  Notification method for a started server heartbeat
  
  If the subscriber has been registered, the driver will call this method when a server heartbeat
  (i.e. hello command issued through server monitoring) has started.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent</info>  <strong>$event</strong>  An event object encapsulating
                                                                 information about the started
                                                                 server heartbeat.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded
type: function
doc:
<comment>Description:</comment>
  Notification method for a successful server heartbeat
  
  If the subscriber has been registered, the driver will call this method when a server heartbeat
  (i.e. hello command issued through server monitoring) has succeeded.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent</info>  <strong>$event</strong>  An event object encapsulating
                                                                   information about the successful
                                                                   server heartbeat.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening
type: function
doc:
<comment>Description:</comment>
  Notification method for opening a server
  
  If the subscriber has been registered, the driver will call this method when a server is opened.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\ServerOpeningEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                        about the opened server.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\ServerOpeningEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged
type: function
doc:
<comment>Description:</comment>
  Notification method for a topology description change
  
  If the subscriber has been registered, the driver will call this method when the topology's
  description has changed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\TopologyChangedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                          about the changed topology description.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\TopologyChangedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed
type: function
doc:
<comment>Description:</comment>
  Notification method for closing the topology
  
  If the subscriber has been registered, the driver will call this method when the topology is
  closed.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\TopologyClosedEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                         about the closed topology.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\TopologyClosedEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening
type: function
doc:
<comment>Description:</comment>
  Notification method for opening the topology
  
  If the subscriber has been registered, the driver will call this method when the topology is
  opened.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\TopologyOpeningEvent</info>  <strong>$event</strong>  An event object encapsulating information
                                                          about the opened topology.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Monitoring\TopologyOpeningEvent</class>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>


id: MongoDB\Driver\Monitoring\ServerChangedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerChangedEvent</class> class encapsulates information about a changed
  server description.


id: MongoDB\Driver\Monitoring\ServerChangedEvent::getHost
type: function
doc:
<comment>Description:</comment>
  Returns the hostname of the server

<comment>Return:</comment>
  <info>string</info>  Returns the hostname of the server.


id: MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription
type: function
doc:
<comment>Description:</comment>
  Returns the new description for the server

<comment>Return:</comment>
  <info>MongoDB\Driver\ServerDescription</info>  Returns the new <class>MongoDB\Driver\ServerDescription</class> for the server.


id: MongoDB\Driver\Monitoring\ServerChangedEvent::getPort
type: function
doc:
<comment>Description:</comment>
  Returns the port on which this server is listening

<comment>Return:</comment>
  <info>int</info>  Returns the port on which this server is listening.


id: MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription
type: function
doc:
<comment>Description:</comment>
  Returns the previous description for the server

<comment>Return:</comment>
  <info>MongoDB\Driver\ServerDescription</info>  Returns the previous <class>MongoDB\Driver\ServerDescription</class> for the
                                    server.


id: MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId
type: function
doc:
<comment>Description:</comment>
  Returns the topology ID associated with this server

<comment>Return:</comment>
  <info>MongoDB\BSON\ObjectId</info>  Returns the topology ID.


id: MongoDB\Driver\Monitoring\ServerClosedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerClosedEvent</class> class encapsulates information about a closed
  server.


id: MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent</class> class encapsulates information about a
  failed server heartbeat.


id: MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros
type: function
doc:
<comment>Description:</comment>
  Returns the heartbeat's duration in microseconds
  
  The heartbeat's duration is a calculated value that includes the time to send the message and
  receive the reply from the server.

<comment>Return:</comment>
  <info>int</info>  Returns the heartbeat's duration in microseconds.


id: MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError
type: function
doc:
<comment>Description:</comment>
  Returns the Exception associated with the failed heartbeat

<comment>Return:</comment>
  <info>Exception</info>  Returns the <class>Exception</class> associated with the failed heartbeat.


id: MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited
type: function
doc:
<comment>Description:</comment>
  Returns whether the heartbeat used a streaming protocol
  
  Returns whether the heartbeat used a streaming protocol. The PHP driver does not use the streaming
  protocol for monitoring, so this method will always return <info>false</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>false</info>.


id: MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent</class> class encapsulates information about a
  started server heartbeat.


id: MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent</class> class encapsulates information about a
  successful server heartbeat.


id: MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply
type: function
doc:
<comment>Description:</comment>
  Returns the heartbeat reply document
  
  The reply document will be converted from BSON to PHP using the default deserialization rules
  (e.g. BSON documents will be converted to <info>stdClass</info>).

<comment>Return:</comment>
  <info>object</info>  Returns the heartbeat reply document as a <class>stdClass</class> object.

<comment>See Also:</comment>
   * 
   * 


id: MongoDB\Driver\Monitoring\ServerOpeningEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\ServerOpeningEvent</class> class encapsulates information about an opened
  server.


id: MongoDB\Driver\Monitoring\Subscriber
type: class
doc:
<comment>Description:</comment>
  Base interface for event subscribers. This is used as a parameter type in the functions
  <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong> and <strong>MongoDB\Driver\Monitoring\removeSubscriber()</strong> and
  should not be implemented directly.


id: MongoDB\Driver\Monitoring\TopologyChangedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\TopologyChangedEvent</class> class encapsulates information about a changed
  topology description.


id: MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription
type: function
doc:
<comment>Description:</comment>
  Returns the new description for the topology

<comment>Return:</comment>
  <info>MongoDB\Driver\TopologyDescription</info>  Returns the new <class>MongoDB\Driver\TopologyDescription</class> for the
                                      topology.


id: MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription
type: function
doc:
<comment>Description:</comment>
  Returns the previous description for the topology

<comment>Return:</comment>
  <info>MongoDB\Driver\TopologyDescription</info>  Returns the previous <class>MongoDB\Driver\TopologyDescription</class> for
                                      the topology.


id: MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId
type: function
doc:
<comment>Description:</comment>
  Returns the topology ID

<comment>Return:</comment>
  <info>MongoDB\BSON\ObjectId</info>  Returns the topology ID.


id: MongoDB\Driver\Monitoring\TopologyClosedEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\TopologyClosedEvent</class> class encapsulates information about a closed
  topology.


id: MongoDB\Driver\Monitoring\TopologyOpeningEvent
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Monitoring\TopologyOpeningEvent</class> class encapsulates information about an opened
  topology.


id: MongoDB\Driver\Monitoring\addSubscriber
type: function
doc:
<comment>Description:</comment>
  Registers a monitoring event subscriber globally
  
  Registers a monitoring event subscriber globally. The subscriber will be notified of all events in
  the driver for any Manager.
  
  If <strong>$subscriber</strong> is already registered globally, this function is a no-op. If <strong>$subscriber</strong> is also
  registered with one or more Managers, it will still only be notified once of each event for each
  Manager.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\Subscriber</info>  <strong>$subscriber</strong>  A monitoring event subscriber to register
                                                     globally.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Monitoring\removeSubscriber()</strong>
   * MongoDB\Driver\Monitoring\Subscriber
   * MongoDB\Driver\Monitoring\CommandSubscriber
   * <strong>MongoDB\Driver\Manager::addSubscriber()</strong>
   * 


id: MongoDB\Driver\Monitoring\removeSubscriber
type: function
doc:
<comment>Description:</comment>
  Unregisters a monitoring event subscriber globally
  
  Unregisters a monitoring event subscriber globally.
  
  If <strong>$subscriber</strong> is not already registered globally, this function is a no-op.

<comment>Param:</comment>
  <info>MongoDB\Driver\Monitoring\Subscriber</info>  <strong>$subscriber</strong>  A monitoring event subscriber to unregister
                                                     globally.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Monitoring\addSubscriber()</strong>
   * MongoDB\Driver\Monitoring\Subscriber
   * MongoDB\Driver\Monitoring\CommandSubscriber
   * <strong>MongoDB\Driver\Manager::removeSubscriber()</strong>
   * 


id: MongoDB\Driver\Query
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\Query</class> class is a value object that represents a database query.


id: MongoDB\Driver\Query::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new Query
  
  Constructs a new <class>MongoDB\Driver\Query</class>, which is an immutable value object that represents a
  database query. The query may then be executed with MongoDB\Driver\Manager::executeQuery.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>        The query predicate. An empty predicate will match all documents in
                               the collection.
                               
                               When evaluating query criteria, MongoDB compares types and values
                               according to its own comparison rules for BSON types, which differs
                               from PHP's comparison and type juggling rules. When matching a
                               special BSON type the query criteria should use the respective BSON
                               class (e.g. use <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|null</info>    <strong>$queryOptions</strong>  queryOptionsOptionTypeDescriptionallowDiskUse<info>bool</info> Allows MongoDB to
                               use temporary disk files to store data exceeding the 100 megabyte
                               system memory limit while processing a blocking sort operation.
                               allowPartialResults<info>bool</info> For queries against a sharded collection,
                               returns partial results from the mongos if some shards are
                               unavailable instead of throwing an error.  Falls back to the
                               deprecated <return>"partial"</return> option if not specified. awaitData<info>bool</info> Use in
                               conjunction with the <return>"tailable"</return> option to block a getMore operation
                               on the cursor temporarily if at the end of data rather than returning
                               no data. After a timeout period, the query returns as normal.
                               batchSize<info>int</info> The number of documents to return in the first batch.
                               Defaults to 101. A batch size of 0 means that the cursor will be
                               established, but no documents will be returned in the first batch.
                               In versions of MongoDB before 3.2, where queries use the legacy wire
                               protocol OP_QUERY, a batch size of 1 will close the cursor
                               irrespective of the number of matched documents.
                               collation<info>array</info><info>object</info></info>Collation allows users to specify
                               language-specific rules for string comparison, such as rules for
                               lettercase and accent marks. When specifying collation, the <return>"locale"</return>
                               field is mandatory; all other collation fields are optional. For
                               descriptions of the fields, see Collation Document.  If the collation
                               is unspecified but the collection has a default collation, the
                               operation uses the collation specified for the collection. If no
                               collation is specified for the collection or for the operation,
                               MongoDB uses the simple binary comparison used in prior versions for
                               string comparisons.  This option is available in MongoDB 3.4+ and
                               will result in an exception at execution time if specified for an
                               older server version. comment<info>mixed</info> An arbitrary comment to help trace
                               the operation through the database profiler, currentOp output, and
                               logs.  The comment can be any valid BSON type for MongoDB 4.4+.
                               Earlier server versions only support string values.  Falls back to
                               the deprecated <return>"$comment"</return> modifier if not specified. exhaust<info>bool</info>
                               Stream the data down full blast in multiple "more" packages, on the
                               assumption that the client will fully read all data queried. Faster
                               when you are pulling a lot of data and know you want to pull it all
                               down. Note: the client is not allowed to not read all the data unless
                               it closes the connection.  This option is not supported by the find
                               command in MongoDB 3.2+ and will force the driver to use the legacy
                               wire protocol version (i.e. OP_QUERY). explain<info>bool</info> If <info>true</info>, the
                               returned <class>MongoDB\Driver\Cursor</class> will contain a single document that
                               describes the process and indexes used to return the query.  Falls
                               back to the deprecated <return>"$explain"</return> modifier if not specified.  This
                               option is not supported by the find command in MongoDB 3.2+ and will
                               only be respected when using the legacy wire protocol version (i.e.
                               OP_QUERY). The explain command should be used on MongoDB 3.0+.
                               hint<info>string</info><info>array</info><info>object</info></info> Index specification. Specify either the index
                               name as a string or the index key pattern. If specified, then the
                               query system will only consider plans using the hinted index.  Falls
                               back to the deprecated <return>"hint"</return> option if not specified. let<info>array</info><info>object</info></info>
                               Map of parameter names and values. Values must be constant or closed
                               expressions that do not reference document fields. Parameters can
                               then be accessed as variables in an aggregate expression context
                               (e.g. <return>$$var</return>).  This option is available in MongoDB 5.0+ and will
                               result in an exception at execution time if specified for an older
                               server version. limit<info>int</info> The maximum number of documents to return.
                               If unspecified, then defaults to no limit. A limit of 0 is equivalent
                               to setting no limit.  A negative limit is will be interpreted as a
                               positive limit with the <return>"singleBatch"</return> option set to <info>true</info>. This
                               behavior is supported for backwards compatibility, but should be
                               considered deprecated. max<info>array</info><info>object</info></info> The exclusive upper bound for a
                               specific index.  Falls back to the deprecated <return>"$max"</return> modifier if not
                               specified. maxAwaitTimeMS<info>int</info> Positive integer denoting the time limit
                               in milliseconds for the server to block a getMore operation if no
                               data is available. This option should only be used in conjunction
                               with the <return>"tailable"</return> and <return>"awaitData"</return> options. maxScan<info>int</info> This option
                               is deprecated and should not be used.  Positive integer denoting the
                               maximum number of documents or index keys to scan when executing the
                               query.  Falls back to the deprecated <return>"$maxScan"</return> modifier if not
                               specified. maxTimeMS<info>int</info> The cumulative time limit in milliseconds for
                               processing operations on the cursor. MongoDB aborts the operation at
                               the earliest following interrupt point.  Falls back to the deprecated
                               <return>"$maxTimeMS"</return> modifier if not specified. min<info>array</info><info>object</info></info> The inclusive
                               lower bound for a specific index.  Falls back to the deprecated
                               <return>"$min"</return> modifier if not specified. modifiers<info>array</info>Meta operators
                               modifying the output or behavior of a query. Use of these operators
                               is deprecated in favor of named options. noCursorTimeout<info>bool</info> Prevents
                               the server from timing out idle cursors after an inactivity period
                               (10 minutes). oplogReplay<info>bool</info> Internal use for replica sets. To use
                               oplogReplay, you must include the following condition in the filter:
                               [ '$gte' =>  ] ]
                               ]]>This option is deprecated as of the 1.8.0
                               release.projection<info>array</info><info>object</info></info> The projection specification to
                               determine which fields to include in the returned documents.  If you
                               are using the ODM functionality to deserialise documents as their
                               original PHP class, make sure that you include the __pclass field in
                               the projection. This is required for the deserialization to work and
                               without it, the driver will return (by default) a <class>stdClass</class> object
                               instead. readConcern<class>MongoDB\Driver\ReadConcern</class> A read concern to
                               apply to the operation. By default, the read concern from the MongoDB
                               Connection URI will be used.  This option is available in MongoDB
                               3.2+ and will result in an exception at execution time if specified
                               for an older server version. returnKey<info>bool</info> If <info>true</info>, returns only the
                               index keys in the resulting documents. Default value is <info>false</info>. If
                               <info>true</info> and the find command does not use an index, the returned
                               documents will be empty.  Falls back to the deprecated <return>"$returnKey"</return>
                               modifier if not specified. showRecordId<info>bool</info> Determines whether to
                               return the record identifier for each document. If <info>true</info>, adds a
                               top-level <return>"$recordId"</return> field to the returned documents.  Falls back to
                               the deprecated <return>"$showDiskLoc"</return> modifier if not specified.
                               singleBatch<info>bool</info> Determines whether to close the cursor after the
                               first batch. Defaults to <info>false</info>. skip<info>int</info>Number of documents to skip.
                               Defaults to 0.snapshot<info>bool</info> This option is deprecated and should not
                               be used.  Prevents the cursor from returning a document more than
                               once because of an intervening write operation.  Falls back to the
                               deprecated <return>"$snapshot"</return> modifier if not specified. sort<info>array</info><info>object</info></info>The
                               sort specification for the ordering of the results. Falls back to the
                               deprecated <return>"$orderby"</return> modifier if not specified. tailable<info>bool</info>Returns
                               a tailable cursor for a capped collection.
                               
                               Allows MongoDB to use temporary disk files to store data exceeding
                               the 100 megabyte system memory limit while processing a blocking sort
                               operation.
                               
                               For queries against a sharded collection, returns partial results
                               from the mongos if some shards are unavailable instead of throwing an
                               error.
                               
                               Falls back to the deprecated <return>"partial"</return> option if not specified.
                               
                               The number of documents to return in the first batch. Defaults to
                               101. A batch size of 0 means that the cursor will be established, but
                               no documents will be returned in the first batch.
                               
                               In versions of MongoDB before 3.2, where queries use the legacy wire
                               protocol OP_QUERY, a batch size of 1 will close the cursor
                               irrespective of the number of matched documents.
                               
                               Collation allows users to specify language-specific rules for string
                               comparison, such as rules for lettercase and accent marks. When
                               specifying collation, the <return>"locale"</return> field is mandatory; all other
                               collation fields are optional. For descriptions of the fields, see
                               Collation Document.
                               
                               If the collation is unspecified but the collection has a default
                               collation, the operation uses the collation specified for the
                               collection. If no collation is specified for the collection or for
                               the operation, MongoDB uses the simple binary comparison used in
                               prior versions for string comparisons.
                               
                               This option is available in MongoDB 3.4+ and will result in an
                               exception at execution time if specified for an older server version.
                               
                               An arbitrary comment to help trace the operation through the database
                               profiler, currentOp output, and logs.
                               
                               The comment can be any valid BSON type for MongoDB 4.4+. Earlier
                               server versions only support string values.
                               
                               Falls back to the deprecated <return>"$comment"</return> modifier if not specified.
                               
                               Stream the data down full blast in multiple "more" packages, on the
                               assumption that the client will fully read all data queried. Faster
                               when you are pulling a lot of data and know you want to pull it all
                               down. Note: the client is not allowed to not read all the data unless
                               it closes the connection.
                               
                               This option is not supported by the find command in MongoDB 3.2+ and
                               will force the driver to use the legacy wire protocol version (i.e.
                               OP_QUERY).
                               
                               If <info>true</info>, the returned <class>MongoDB\Driver\Cursor</class> will contain a single
                               document that describes the process and indexes used to return the
                               query.
                               
                               Falls back to the deprecated <return>"$explain"</return> modifier if not specified.
                               
                               This option is not supported by the find command in MongoDB 3.2+ and
                               will only be respected when using the legacy wire protocol version
                               (i.e. OP_QUERY). The explain command should be used on MongoDB 3.0+.
                               
                               Index specification. Specify either the index name as a string or the
                               index key pattern. If specified, then the query system will only
                               consider plans using the hinted index.
                               
                               Falls back to the deprecated <return>"hint"</return> option if not specified.
                               
                               Map of parameter names and values. Values must be constant or closed
                               expressions that do not reference document fields. Parameters can
                               then be accessed as variables in an aggregate expression context
                               (e.g. <return>$$var</return>).
                               
                               This option is available in MongoDB 5.0+ and will result in an
                               exception at execution time if specified for an older server version.
                               
                               The maximum number of documents to return. If unspecified, then
                               defaults to no limit. A limit of 0 is equivalent to setting no limit.
                               
                               A negative limit is will be interpreted as a positive limit with the
                               <return>"singleBatch"</return> option set to <info>true</info>. This behavior is supported for
                               backwards compatibility, but should be considered deprecated.
                               
                               The exclusive upper bound for a specific index.
                               
                               Falls back to the deprecated <return>"$max"</return> modifier if not specified.
                               
                               Positive integer denoting the time limit in milliseconds for the
                               server to block a getMore operation if no data is available. This
                               option should only be used in conjunction with the <return>"tailable"</return> and
                               <return>"awaitData"</return> options.
                               
                               This option is deprecated and should not be used.
                               
                               Positive integer denoting the maximum number of documents or index
                               keys to scan when executing the query.
                               
                               Falls back to the deprecated <return>"$maxScan"</return> modifier if not specified.
                               
                               The cumulative time limit in milliseconds for processing operations
                               on the cursor. MongoDB aborts the operation at the earliest following
                               interrupt point.
                               
                               Falls back to the deprecated <return>"$maxTimeMS"</return> modifier if not specified.
                               
                               The inclusive lower bound for a specific index.
                               
                               Falls back to the deprecated <return>"$min"</return> modifier if not specified.
                               
                               Internal use for replica sets. To use oplogReplay, you must include
                               the following condition in the filter:
                               
                                [ '$gte' =>  ] ]
                               ]]>
                               
                               This option is deprecated as of the 1.8.0 release.
                               
                               The projection specification to determine which fields to include in
                               the returned documents.
                               
                               If you are using the ODM functionality to deserialise documents as
                               their original PHP class, make sure that you include the __pclass
                               field in the projection. This is required for the deserialization to
                               work and without it, the driver will return (by default) a <class>stdClass</class>
                               object instead.
                               
                               A read concern to apply to the operation. By default, the read
                               concern from the MongoDB Connection URI will be used.
                               
                               This option is available in MongoDB 3.2+ and will result in an
                               exception at execution time if specified for an older server version.
                               
                               If <info>true</info>, returns only the index keys in the resulting documents.
                               Default value is <info>false</info>. If <info>true</info> and the find command does not use an
                               index, the returned documents will be empty.
                               
                               Falls back to the deprecated <return>"$returnKey"</return> modifier if not specified.
                               
                               Determines whether to return the record identifier for each document.
                               If <info>true</info>, adds a top-level <return>"$recordId"</return> field to the returned
                               documents.
                               
                               Falls back to the deprecated <return>"$showDiskLoc"</return> modifier if not
                               specified.
                               
                               This option is deprecated and should not be used.
                               
                               Prevents the cursor from returning a document more than once because
                               of an intervening write operation.
                               
                               Falls back to the deprecated <return>"$snapshot"</return> modifier if not specified.
                               
                               The sort specification for the ordering of the results.
                               
                               Falls back to the deprecated <return>"$orderby"</return> modifier if not specified.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeQuery
   * <class>MongoDB\Driver\Cursor</class>


id: MongoDB\Driver\ReadConcern
type: class
doc:
<comment>Description:</comment>
  <class>MongoDB\Driver\ReadConcern</class> controls the level of isolation for read operations for replica sets
  and replica set shards. This option requires MongoDB 3.2 or later.


id: MongoDB\Driver\ReadConcern::AVAILABLE
type: constant
doc:
<comment>Description:</comment>
  Default for reads against secondaries when <return>afterClusterTime</return>and <return>level</return> are unspecified.
  
  The query returns the instance's most recent data. Provides no guarantee that the data has been
  written to a majority of the replica set members (i.e. may be rolled back).
  
  For unsharded collections (including collections in a standalone deployment or a replica set
  deployment), <return>"local"</return> and <return>"available"</return> read concerns behave identically.
  
  For a sharded cluster, <return>"available"</return> read concern provides greater tolerance for partitions since it
  does not wait to ensure consistency guarantees. However, a query with <return>"available"</return> read concern may
  return orphan documents if the shard is undergoing chunk migrations since the <return>"available"</return> read
  concern, unlike <return>"local"</return> read concern, does not contact the shard's primary nor the config servers
  for updated metadata.


id: MongoDB\Driver\ReadConcern::LINEARIZABLE
type: constant
doc:
<comment>Description:</comment>
  The query returns data that reflects all successful writes issued with a write concern of
  <return>"majority"</return> and acknowledged prior to the start of the read operation. For replica sets that run
  with <return>writeConcernMajorityJournalDefault</return> set to <info>true</info>, linearizable read concern returns data that
  will never be rolled back.
  
  With <return>writeConcernMajorityJournalDefault</return> set to <info>false</info>, MongoDB will not wait for <return>w: "majority"</return>
  writes to be durable before acknowledging the writes. As such, <return>"majority"</return> write operations could
  possibly roll back in the event of a loss of a replica set member.
  
  You can specify linearizable read concern for read operations on the primary only.
  
  Linearizable read concern guarantees only apply if read operations specify a query filter that
  uniquely identifies a single document.
  
  Always use <return>maxTimeMS</return> with linearizable read concern in case a majority of data bearing members are
  unavailable. <return>maxTimeMS</return> ensures that the operation does not block indefinitely and instead ensures
  that the operation returns an error if the read concern cannot be fulfilled.
  
  Linearizable read concern requires MongoDB 3.4.


id: MongoDB\Driver\ReadConcern::LOCAL
type: constant
doc:
<comment>Description:</comment>
  Default for reads against primary if <return>level</return> is unspecified and for reads against secondaries if
  <return>level</return> is unspecified but <return>afterClusterTime</return> is specified.
  
  The query returns the instance's most recent data. Provides no guarantee that the data has been
  written to a majority of the replica set members (i.e. may be rolled back).


id: MongoDB\Driver\ReadConcern::MAJORITY
type: constant
doc:
<comment>Description:</comment>
  The query returns the instance's most recent data acknowledged as having been written to a
  majority of members in the replica set.
  
  To use read concern level of <return>"majority"</return>, replica sets must use WiredTiger storage engine and
  election protocol version 1.


id: MongoDB\Driver\ReadConcern::SNAPSHOT
type: constant
doc:
<comment>Description:</comment>
  Read concern <return>"snapshot"</return> is available for multi-document transactions, and starting in MongoDB 5.0,
  certain read operations outside of multi-document transactions.
  
  If the transaction is not part of a causally consistent session, upon transaction commit with
  write concern <return>"majority"</return>, the transaction operations are guaranteed to have read from a snapshot
  of majority-committed data.
  
  If the transaction is part of a causally consistent session, upon transaction commit with write
  concern <return>"majority"</return>, the transaction operations are guaranteed to have read from a snapshot of
  majority-committed data that provides causal consistency with the operation immediately preceding
  the transaction start.
  
  Outside of multi-document transactions, read concern <return>"snapshot"</return> is available on primaries and
  secondaries for the following read operations: <return>find</return>, <return>aggregate</return>, and <return>distinct</return> (on unsharded
  collections). All other read commands prohibit <return>"snapshot"</return>.


id: MongoDB\Driver\ReadConcern::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new ReadConcern
  
  Constructs a new <class>MongoDB\Driver\ReadConcern</class>, which is an immutable value object.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$level</strong>  The read concern level. You may use, but are not limited to, one of the class
                       constants.

<comment>See Also:</comment>
   * Read Concern reference


id: MongoDB\Driver\ReadConcern::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns an object for BSON serialization

<comment>Return:</comment>
  <info>stdClass</info>  Returns an object for serializing the ReadConcern as BSON.

<comment>See Also:</comment>
   * MongoDB\BSON\Serializable::bsonSerialize
   * Read Concern reference


id: MongoDB\Driver\ReadConcern::getLevel
type: function
doc:
<comment>Description:</comment>
  Returns the ReadConcern's "level" option

<comment>Return:</comment>
  <info>string|null</info>  Returns the ReadConcern's "level" option.

<comment>See Also:</comment>
   * Read Concern reference


id: MongoDB\Driver\ReadConcern::isDefault
type: function
doc:
<comment>Description:</comment>
  Checks if this is the default read concern
  
  Returns whether this is the default read concern (i.e. no options are specified). This method is
  primarily intended to be used in conjunction with MongoDB\Driver\Manager::getReadConcern to
  determine whether the Manager has been constructed without any read concern options.
  
  The driver will not include a default read concern in its read operations (e.g.
  MongoDB\Driver\Manager::executeQuery) in order order to allow the server to apply its own default.
  Libraries that access the Manager's read concern to include it in their own read commands should
  use this method to ensure that default read concerns are left unset.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if this is the default read concern and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::getReadConcern
   * Read Concern reference


id: MongoDB\Driver\ReadConcern::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a ReadConcern

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\Driver\ReadConcern</class>.

<comment>See Also:</comment>
   * MongoDB\Driver\ReadConcern::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\ReadConcern::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a ReadConcern

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\Driver\ReadConcern</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\ReadConcern::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\ReadPreference::NEAREST
type: constant
doc:
<comment>Description:</comment>
  Operations read from member of the replica set with the least network latency, irrespective of the
  member's type.


id: MongoDB\Driver\ReadPreference::NO_MAX_STALENESS
type: constant
doc:
<comment>Description:</comment>
  The default value for the <return>"maxStalenessSeconds"</return> option is to specify no limit on maximum
  staleness, which means that the driver will not consider a secondary's lag when choosing where to
  direct a read operation.


id: MongoDB\Driver\ReadPreference::PRIMARY
type: constant
doc:
<comment>Description:</comment>
  All operations read from the current replica set primary. This is the default read preference for
  MongoDB.


id: MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED
type: constant
doc:
<comment>Description:</comment>
  In most situations, operations read from the primary but if it is unavailable, operations read
  from secondary members.


id: MongoDB\Driver\ReadPreference::RP_SECONDARY
type: constant
doc:
<comment>Description:</comment>
  All operations read from the secondary members of the replica set.


id: MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED
type: constant
doc:
<comment>Description:</comment>
  In most situations, operations read from secondary members but if no secondary members are
  available, operations read from the primary.


id: MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS
type: constant
doc:
<comment>Description:</comment>
  The minimum value for the <return>"maxStalenessSeconds"</return> option is 90 seconds. The driver estimates
  secondaries' staleness by periodically checking the latest write date of each replica set member.
  Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot
  enforce a max staleness value of less than 90 seconds.


id: MongoDB\Driver\ReadPreference::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new ReadPreference
  
  Constructs a new <class>MongoDB\Driver\ReadPreference</class>, which is an immutable value object.

<comment>Param:</comment>
  <info>string|int</info>  <strong>$mode</strong>     Read preference
                        modeValueDescription<info>MongoDB\Driver\ReadPreference::RP_PRIMARY</info> or <return>"primary"</return>
                        All operations read from the current replica set primary. This is the
                        default read preference for MongoDB.
                        <info>MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED</info> or <return>"primaryPreferred"</return> In
                        most situations, operations read from the primary but if it is unavailable,
                        operations read from secondary members.
                        <info>MongoDB\Driver\ReadPreference::RP_SECONDARY</info> or <return>"secondary"</return> All operations
                        read from the secondary members of the replica set.
                        <info>MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED</info> or
                        <return>"secondaryPreferred"</return> In most situations, operations read from secondary
                        members but if no secondary members are available, operations read from the
                        primary. <info>MongoDB\Driver\ReadPreference::RP_NEAREST</info> or <return>"nearest"</return> Operations
                        read from member of the replica set with the least network latency,
                        irrespective of the member's type.
                        
                        All operations read from the current replica set primary. This is the
                        default read preference for MongoDB.
                        
                        In most situations, operations read from the primary but if it is
                        unavailable, operations read from secondary members.
                        
                        All operations read from the secondary members of the replica set.
                        
                        In most situations, operations read from secondary members but if no
                        secondary members are available, operations read from the primary.
                        
                        Operations read from member of the replica set with the least network
                        latency, irrespective of the member's type.
  <info>array|null</info>  <strong>$tagSets</strong>  Tag sets allow you to target read operations to specific members of a
                        replica set. This parameter should be an array of associative arrays, each
                        of which contain zero or more key/value pairs. When selecting a server for a
                        read operation, the driver attempt to select a node having all tags in a set
                        (i.e. the associative array of key/value pairs). If selection fails, the
                        driver will attempt subsequent sets. An empty tag set (<return>array()</return>) will match
                        any node and may be used as a fallback.
                        
                        Tags are not compatible with the <info>MongoDB\Driver\ReadPreference::RP_PRIMARY</info>
                        mode and, in general, only apply when selecting a secondary member of a set
                        for a read operation. However, the <info>MongoDB\Driver\ReadPreference::RP_NEAREST</info>
                        mode, when combined with a tag set, selects the matching member with the
                        lowest network latency. This member may be a primary or secondary.
  <info>array|null</info>  <strong>$options</strong>  optionsOptionTypeDescriptionhedge<info>object</info><info>array</info></info>Specifies whether to use hedged
                        reads, which are supported by MongoDB 4.4+ for sharded queries. Server
                        hedged reads are available for all non-primary read preferences and are
                        enabled by default when using the <return>"nearest"</return> mode. This option allows
                        explicitly enabling server hedged reads for non-primary read preferences by
                        specifying <return>['enabled' =&gt; true]</return>, or explicitly disabling server hedged
                        reads for the <return>"nearest"</return> read preference by specifying <return>['enabled' =&gt;
                        false]</return>. maxStalenessSeconds<info>int</info> Specifies a maximum replication lag, or
                        "staleness", for reads from secondaries. When a secondary's estimated
                        staleness exceeds this value, the driver stops using it for read operations.
                        If specified, the max staleness must be a signed 32-bit integer greater than
                        or equal to <info>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</info>.
                        Defaults to <info>MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</info>, which means
                        that the driver will not consider a secondary's lag when choosing where to
                        direct a read operation.  This option is not compatible with the
                        <info>MongoDB\Driver\ReadPreference::RP_PRIMARY</info> mode. Specifying a max staleness
                        also requires all MongoDB instances in the deployment to be using MongoDB
                        3.4+. An exception will be thrown at execution time if any MongoDB instances
                        in the deployment are of an older server version.
                        
                        Specifies whether to use hedged reads, which are supported by MongoDB 4.4+
                        for sharded queries.
                        
                        Server hedged reads are available for all non-primary read preferences and
                        are enabled by default when using the <return>"nearest"</return> mode. This option allows
                        explicitly enabling server hedged reads for non-primary read preferences by
                        specifying <return>['enabled' =&gt; true]</return>, or explicitly disabling server hedged
                        reads for the <return>"nearest"</return> read preference by specifying <return>['enabled' =&gt;
                        false]</return>.
                        
                        Specifies a maximum replication lag, or "staleness", for reads from
                        secondaries. When a secondary's estimated staleness exceeds this value, the
                        driver stops using it for read operations.
                        
                        If specified, the max staleness must be a signed 32-bit integer greater than
                        or equal to <info>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</info>.
                        
                        Defaults to <info>MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</info>, which means
                        that the driver will not consider a secondary's lag when choosing where to
                        direct a read operation.
                        
                        This option is not compatible with the
                        <info>MongoDB\Driver\ReadPreference::RP_PRIMARY</info> mode. Specifying a max staleness
                        also requires all MongoDB instances in the deployment to be using MongoDB
                        3.4+. An exception will be thrown at execution time if any MongoDB instances
                        in the deployment are of an older server version.

<comment>See Also:</comment>
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns an object for BSON serialization

<comment>Return:</comment>
  <info>stdClass</info>  Returns an object for serializing the ReadPreference as BSON.

<comment>See Also:</comment>
   * MongoDB\BSON\Serializable::bsonSerialize
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::getHedge
type: function
doc:
<comment>Description:</comment>
  Returns the ReadPreference's "hedge" option

<comment>Return:</comment>
  <info>object|null</info>  Returns the ReadPreference's "hedge" option.

<comment>See Also:</comment>
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
type: function
doc:
<comment>Description:</comment>
  Returns the ReadPreference's "maxStalenessSeconds" option

<comment>Return:</comment>
  <info>int</info>  Returns the ReadPreference's "maxStalenessSeconds" option. If no max staleness has been
       specified, <info>MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</info> will be returned.

<comment>See Also:</comment>
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::getMode
type: function
doc:
<comment>Description:</comment>
  Returns the ReadPreference's "mode" option

<comment>Return:</comment>
  <info>int</info>  Returns the ReadPreference's "mode" option.

<comment>See Also:</comment>
   * MongoDB\Driver\ReadPreference::getModeString
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::getModeString
type: function
doc:
<comment>Description:</comment>
  Returns the ReadPreference's "mode" option as a string

<comment>Return:</comment>
  <info>string</info>  Returns the ReadPreference's "mode" option as a string.

<comment>See Also:</comment>
   * MongoDB\Driver\ReadPreference::getMode
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::getTagSets
type: function
doc:
<comment>Description:</comment>
  Returns the ReadPreference's "tagSets" option

<comment>Return:</comment>
  <info>array</info>  Returns the ReadPreference's "tagSets" option.

<comment>See Also:</comment>
   * Read Preference reference


id: MongoDB\Driver\ReadPreference::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a ReadPreference

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\Driver\ReadPreference</class>.

<comment>See Also:</comment>
   * MongoDB\Driver\ReadPreference::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\ReadPreference::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a ReadPreference

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\Driver\ReadPreference</class>.

<comment>Return:</comment>
  <info>void</info>  値を返しません。

<comment>See Also:</comment>
   * MongoDB\Driver\ReadPreference::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\Driver\Server::TYPE_LOAD_BALANCER
type: constant
doc:
<comment>Description:</comment>
  Load balancer server type, returned by MongoDB\Driver\Server::getType.


id: MongoDB\Driver\Server::TYPE_POSSIBLE_PRIMARY
type: constant
doc:
<comment>Description:</comment>
  Replica set possible primary server type, returned by MongoDB\Driver\Server::getType.
  
  A server may be identified as a possible primary if it has not yet been checked but another memory
  of the replica set thinks it is the primary.


id: MongoDB\Driver\Server::TYPE_RS_ARBITER
type: constant
doc:
<comment>Description:</comment>
  Replica set arbiter server type, returned by MongoDB\Driver\Server::getType.


id: MongoDB\Driver\Server::TYPE_RS_GHOST
type: constant
doc:
<comment>Description:</comment>
  Replica set ghost server type, returned by MongoDB\Driver\Server::getType.
  
  Servers may be identified as such in at least three situations: briefly during server startup; in
  an uninitialized replica set; or when the server is shunned (i.e. removed from the replica set
  config). They cannot be queried, nor can their host list be used to discover the current replica
  set configuration; however, the client may monitor this server in hope that it transitions to a
  more useful state.


id: MongoDB\Driver\Server::TYPE_RS_OTHER
type: constant
doc:
<comment>Description:</comment>
  Replica set other server type, returned by MongoDB\Driver\Server::getType.
  
  Such servers may be hidden, starting up, or recovering. They cannot be queried, but their hosts
  lists are useful for discovering the current replica set configuration.


id: MongoDB\Driver\Server::TYPE_RS_PRIMARY
type: constant
doc:
<comment>Description:</comment>
  Replica set primary server type, returned by MongoDB\Driver\Server::getType.


id: MongoDB\Driver\Server::TYPE_RS_SECONDARY
type: constant
doc:
<comment>Description:</comment>
  Replica set secondary server type, returned by MongoDB\Driver\Server::getType.


id: MongoDB\Driver\Server::TYPE_STANDALONE
type: constant
doc:
<comment>Description:</comment>
  Standalone server type, returned by MongoDB\Driver\Server::getType.


id: MongoDB\Driver\Server::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new Server (not used)
  
  <class>MongoDB\Driver\Server</class> objects are created internally by <class>MongoDB\Driver\Manager</class> when a database
  connection is established and may be returned by <strong>MongoDB\Driver\Manager::getServers()</strong> and
  <strong>MongoDB\Driver\Manager::selectServer()</strong>.

<comment>See Also:</comment>
   * <strong>MongoDB\Driver\Manager::getServers()</strong>
   * <strong>MongoDB\Driver\Manager::selectServer()</strong>


id: MongoDB\Driver\Server::executeBulkWrite
type: function
doc:
<comment>Description:</comment>
  Execute one or more write operations on this server
  
  Executes one or more write operations on this server.
  
  A <class>MongoDB\Driver\BulkWrite</class> can be constructed with one or more write operations of varying types
  (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type
  to the server in as few requests as possible to optimize round trips.

<comment>Param:</comment>
  <info>string</info>                                  <strong>$namespace</strong>  A fully qualified namespace (e.g.
                                                      <return>"databaseName.collectionName"</return>).
  <info>MongoDB\Driver\BulkWrite</info>                <strong>$bulk</strong>       The write(s) to execute.
  <info>array|MongoDB\Driver\WriteConcern|null</info>  <strong>$options</strong>    
                                                      optionsOptionTypeDescriptionsession<class>MongoDB\Driver\Session</class>
                                                      A session to associate with the operation.
                                                      writeConcern<class>MongoDB\Driver\WriteConcern</class> A
                                                      write concern to apply to the operation.
                                                      
                                                      A session to associate with the operation.
                                                      
                                                      A write concern to apply to the operation.

<comment>Return:</comment>
  <info>MongoDB\Driver\WriteResult</info>  Returns <class>MongoDB\Driver\WriteResult</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\BulkWrite</class>
   * <class>MongoDB\Driver\WriteResult</class>
   * <class>MongoDB\Driver\WriteConcern</class>
   * <strong>MongoDB\Driver\Manager::executeBulkWrite()</strong>


id: MongoDB\Driver\Server::executeCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command on this server
  
  Executes the command on this server.
  
  This method applies no special logic to the command. Although this method accepts <return>"readConcern"</return>
  and <return>"writeConcern"</return> options, which will be incorporated into the command document, those options
  will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB
  server version be taken into account. Users are therefore encouraged to use specific read and/or
  write command methods if possible.
  
  The <return>"readPreference"</return> option does not control the server to which the driver issues the operation;
  it will always be executed on this server object. Instead, it may be used when issuing the
  operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure
  that the driver sets the wire protocol accordingly or adds the read preference to the operation,
  respectively.

<comment>Param:</comment>
  <info>string</info>                                    <strong>$db</strong>       The name of the database on which to execute
                                                      the command.
  <info>MongoDB\Driver\Command</info>                    <strong>$command</strong>  The command to execute.
  <info>array|MongoDB\Driver\ReadPreference|null</info>  <strong>$options</strong>  
                                                      optionsOptionTypeDescriptionreadConcern<class>MongoDB\Driver\ReadConcern</class>
                                                      A read concern to apply to the operation.
                                                      This option is available in MongoDB 3.2+ and
                                                      will result in an exception at execution time
                                                      if specified for an older server version.
                                                      readPreference<class>MongoDB\Driver\ReadPreference</class> A
                                                      read preference to use for selecting a server
                                                      for the operation.
                                                      session<class>MongoDB\Driver\Session</class> A session to
                                                      associate with the operation.
                                                      writeConcern<class>MongoDB\Driver\WriteConcern</class> A
                                                      write concern to apply to the operation.
                                                      
                                                      A read concern to apply to the operation.
                                                      
                                                      This option is available in MongoDB 3.2+ and
                                                      will result in an exception at execution time
                                                      if specified for an older server version.
                                                      
                                                      A read preference to use for selecting a
                                                      server for the operation.
                                                      
                                                      A session to associate with the operation.
                                                      
                                                      A write concern to apply to the operation.
                                                      
                                                      If you are using a <return>"session"</return> which has a
                                                      transaction in progress, you cannot specify a
                                                      <return>"readConcern"</return> or <return>"writeConcern"</return> option. This
                                                      will result in an
                                                      <class>MongoDB\Driver\Exception\InvalidArgumentException</class>
                                                      being thrown. Instead, you should set these
                                                      two options when you create the transaction
                                                      with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Server::executeReadCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeReadWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeWriteCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeCommand()</strong>


id: MongoDB\Driver\Server::executeQuery
type: function
doc:
<comment>Description:</comment>
  Execute a database query on this server
  
  Executes the query on this server.
  
  The <return>"readPreference"</return> option does not control the server to which the driver issues the operation;
  it will always be executed on this server object. Instead, it may be used when issuing the
  operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure
  that the driver sets the wire protocol accordingly or adds the read preference to the operation,
  respectively.

<comment>Param:</comment>
  <info>string</info>                                    <strong>$namespace</strong>  A fully qualified namespace (e.g.
                                                        <return>"databaseName.collectionName"</return>).
  <info>MongoDB\Driver\Query</info>                      <strong>$query</strong>      The query to execute.
  <info>array|MongoDB\Driver\ReadPreference|null</info>  <strong>$options</strong>    
                                                        optionsOptionTypeDescriptionreadPreference<class>MongoDB\Driver\ReadPreference</class>
                                                        A read preference to use for selecting a
                                                        server for the operation.
                                                        session<class>MongoDB\Driver\Session</class> A session to
                                                        associate with the operation.
                                                        
                                                        A read preference to use for selecting a
                                                        server for the operation.
                                                        
                                                        A session to associate with the operation.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Cursor</class>
   * <class>MongoDB\Driver\Query</class>
   * <class>MongoDB\Driver\ReadPreference</class>
   * <strong>MongoDB\Driver\Manager::executeQuery()</strong>


id: MongoDB\Driver\Server::executeReadCommand
type: function
doc:
<comment>Description:</comment>
  Execute a database command that reads on this server
  
  Executes the command on this server.
  
  This method will apply logic that is specific to commands that read (e.g. count) and take the
  MongoDB server version into account. The <return>"readConcern"</return> option will default to the corresponding
  value from the MongoDB Connection URI.
  
  The <return>"readPreference"</return> option does not control the server to which the driver issues the operation;
  it will always be executed on this server object. Instead, it may be used when issuing the
  operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure
  that the driver sets the wire protocol accordingly or adds the read preference to the operation,
  respectively.

<comment>Param:</comment>
  <info>string</info>                  <strong>$db</strong>       The name of the database on which to execute the command.
  <info>MongoDB\Driver\Command</info>  <strong>$command</strong>  The command to execute.
  <info>array|null</info>              <strong>$options</strong>  
                                    optionsOptionTypeDescriptionreadConcern<class>MongoDB\Driver\ReadConcern</class>
                                    A read concern to apply to the operation.  This option is
                                    available in MongoDB 3.2+ and will result in an exception at
                                    execution time if specified for an older server version.
                                    readPreference<class>MongoDB\Driver\ReadPreference</class> A read preference to
                                    use for selecting a server for the operation.
                                    session<class>MongoDB\Driver\Session</class> A session to associate with the
                                    operation.
                                    
                                    A read concern to apply to the operation.
                                    
                                    This option is available in MongoDB 3.2+ and will result in an
                                    exception at execution time if specified for an older server
                                    version.
                                    
                                    A read preference to use for selecting a server for the
                                    operation.
                                    
                                    A session to associate with the operation.
                                    
                                    If you are using a <return>"session"</return> which has a transaction in
                                    progress, you cannot specify a <return>"readConcern"</return> or <return>"writeConcern"</return>
                                    option. This will result in an
                                    <class>MongoDB\Driver\Exception\InvalidArgumentException</class> being thrown.
                                    Instead, you should set these two options when you create the
                                    transaction with MongoDB\Driver\Session::startTransaction.

<comment>Return:</comment>
  <info>MongoDB\Driver\Cursor</info>  Returns <class>MongoDB\Driver\Cursor</class> on success.

<comment>See Also:</comment>
   * <class>MongoDB\Driver\Command</class>
   * <class>MongoDB\Driver\Cursor</class>
   * <strong>MongoDB\Driver\Server::executeCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeReadWriteCommand()</strong>
   * <strong>MongoDB\Driver\Server::executeWriteCommand()</strong>
   * <strong>MongoDB\Driver\Manager::executeReadCommand()</strong>


