MongoCommandCursor::info

(PECL mongo >=1.5.0)

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

Описание

public MongoCommandCursor::info ( void ) : array

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

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

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

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

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

Примеры

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

<?php
$m 
= new MongoClient();

$cursor = new MongoCommandCursor(
    
$m// Объект MongoClient
    
'demo.cities'// namespace
    
[
        
'aggregate' => 'cities',
        
'pipeline' => [ [ '$match' => [ '_id' => [ '$exists' => true ] ] ] ],
        
'cursor' => [ 'batchSize' => ],
    ]
);

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

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

?>

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

Перед началом итерации:
array(8) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(false)
}

После начала итерации:
array(17) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(185840310129)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(0)
  ["server"]=>
  string(25) "localhost:27017;-;.;23991"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
  ["firstBatchAt"]=>
  int(0)
  ["firstBatchNumReturned"]=>
  int(1)
}

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