MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::infoGets information about the cursor's creation and iteration

说明

public array MongoCursor::info ( void )

This can be called before or after the cursor has started iterating.

参数

此函数没有参数。

返回值

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

更新日志

版本 说明
1.1.0 Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with 读取首选项.
1.0.10 Added started_iterating field, a boolean indicating if cursor is pre- or post-query.

范例

Example #1 MongoCursor::info() example

<?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()