MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::infoПолучает информацию о создании и итерации курсора

Описание

public MongoCursor::info ( ) : array

Можно вызвать до или после того, как курсор начнет итерацию.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает пространство имен, размер пакета, лимит, пропуск, флаги, запрос и проецируемые поля для этого курсора. Если курсор начал итерацию, будет включена дополнительная информация об итерации и соединении.

Список изменений

Версия Описание
PECL mongo 1.1.0 Добавлен ряд других полей, включая id (идентификатор курсора), at (счетчик драйвера для которого документ является текущим), numReturned (число, возвращаемое сервером в текущем пакете) и server (на какой сервер был отправлен запрос) - полезно в сочетании с Предпочтения чтения.
PECL mongo 1.0.10 Добавлено поле started_iterating, логическое значение, указывающее, является ли курсор пре- или пост-запросом.

Примеры

Пример #1 Пример использования MongoCursor::info()

<?php
$m 
= new MongoClient();

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

echo 
"Перед началом итерации:\n";
var_dump($cursor->info());

echo 
"\nПосле начала итерации:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

Результатом выполнения данного примера будет что-то подобное:

Перед началом итерации:
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)
}

После начала итерации:
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"
}

Смотрите также