MongoCursor::info

(PECL mongo >=1.0.5)

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

説明

public MongoCursor::info ( void ) : array

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

パラメータ

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

返り値

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

変更履歴

バージョン 説明
1.1.0 多くのフィールドが追加されました。id (カーソル ID)、 at (現在のドキュメントを表すドライバのカウンタ)、 numReturned (サーバーが現在のバッチで返した件数)、そして server (クエリの送信先のサーバー。 優先読み込み と組み合わせると便利) などです。
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"
}

参考