GoLang MongoCursor::info

request it (422)
GoLang replacement for PHP's MongoCursor::info [edit | history]



Do you know a GoLang replacement for PHP's MongoCursor::info? Write it!

PHP MongoCursor::info

PHP original manual for MongoCursor::info [ show | php.net ]

MongoCursor::info

(PECL mongo >=1.0.5)

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

Description

public array MongoCursor::info ( void )

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

Parameters

This function has no parameters.

Return Values

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.

Changelog

Version Description
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 Read Preferences.
1.0.10 Added started_iterating field, a boolean indicating if cursor is pre- or post-query.

Examples

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

?>

The above example will output something similar to:

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"
}

See Also