MongoDB::getCollectionInfo

(PECL mongo >=1.6.0)

MongoDB::getCollectionInfoReturns information about collections in this database

説明

public MongoDB::getCollectionInfo ([ array $options = array() ] ) : array

Gets a list of all collections in the database and returns them as an array of documents, which contain their names and options.

注意: このメソッドは、MongoDB 2.8 以降と通信する際に、データベースコマンド » listCollections を利用します。以前のバージョンのデータベースの場合は、特別なコレクション system.namespaces を問い合わせます。

パラメータ

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    オプションの問い合わせ条件。これを指定すると、結果に含まれるコレクションをその条件でフィルタリングします。

    問い合わせの対象となる関連フィールドには、"name" (コレクション名を表す文字列。データベース名のプレフィックスは含まない) や "options" (コレクションを作成するために用いるオプションを含むオブジェクト) があります。

    注意: MongoDB 2.6 以前のバージョンでは、"name" の条件指定には文字列しか使えませんでした (一致する文字列だけに絞り込むなど)。これは、ドライバが system.namespaces コレクションに問い合わせるときに、その値をデータベース名の先頭に付加する必要があったからです。最新版の MongoDB にはこの制約がなくなりました。listCollections コマンドを使うようになったからです。

  • "includeSystemCollections"

    Boolean で、デフォルトは FALSE です。system コレクションを結果に含めるかどうかを指定します。

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    サーバー上で操作を行う累積時間の制限 (アイドル時間を含まない) を、ミリ秒単位で指定します。この時間内にサーバー側の操作が完了しなければ、MongoExecutionTimeoutException をスローします。

返り値

This function returns an array where each element is an array describing a collection. Elements will contain a name key denoting the name of the collection, and optionally contain an options key denoting an array of objects used to create the collection. For example, capped collections will include capped and size options.

エラー / 例外

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

例1 MongoDB::getCollectionInfo() example

<?php
$m 
= new MongoClient();
$db $m->selectDB("demo");
var_dump($db->getCollectionInfo());
?>

上の例の出力は、 たとえば以下のようになります。

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(4) "logs"
    ["options"]=>
    array(2) {
      ["capped"]=>
      bool(true)
      ["size"]=>
      int(10240)
    }
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "users"
    ["options"]=>
    array(1) {
      ["flags"]=>
      int(1)
    }
  }
}

参考