MongoCursor::info

カーソルの作成と走査に関する情報を取得する

説明

public array MongoCursor::info ( void )

これは、カーソルの反復処理が始まる前でも後でもコールすることができます。

パラメータ

この関数にはパラメータはありません。

返り値

このカーソルの namespace、batch size、limit、skip、flags、query そして fields を返します。 カーソルの反復処理が始まっている場合は、接続などの追加情報も含まれます。

変更履歴

バージョン 説明
PECL mongo 1.1.0 多くのフィールドが追加されました。id (カーソル ID)、 at (現在のドキュメントを表すドライバのカウンタ)、 numReturned (サーバーが現在のバッチで返した件数)、そして server (クエリの送信先のサーバー。 優先読み込み と組み合わせると便利) などです。
PECL mongo 1.0.10 started_iterating フィールドが追加されました。boolean で、 このカーソルがクエリ実行前か実行後かを返します。

例1 MongoCursor::info の例

<?php
$m 
= new MongoClient();

$cursor $m->test->foo->find(array("x" => 4), array("y" => 0));

echo 
"Before iteration started:\n";
var_dump($cursor->info());

echo 
"\nAfter iteration started:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

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

Before iteration started:
array(8) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(false)
}

After iteration started:
array(15) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(0)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(1)
  ["server"]=>
  string(25) "localhost:27017;-;.;26450"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
}

参考

  • MongoCursorInterface::info