File: mongocommandcursor-createfromdocument-002.phpt

package info (click to toggle)
php-mongo 1.5.7-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 11,040 kB
  • ctags: 2,802
  • sloc: ansic: 17,632; xml: 2,195; php: 1,630; pascal: 330; makefile: 52; sh: 39
file content (53 lines) | stat: -rw-r--r-- 1,043 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--TEST--
MongoCommandCursor (iterating twice, after createFromDocument)
--SKIPIF--
<?php $needs = "2.5.3"; require_once "tests/utils/standalone.inc";?>
--FILE--
<?php
require "tests/utils/server.inc";
$dsn = MongoShellServer::getStandaloneInfo();
$dbname = dbname();

$m = new MongoClient($dsn);
$d = $m->selectDB($dbname);
$d->cursorcmd->drop();

for ($i = 0; $i < 10; $i++) {
	$d->cursorcmd->insert(array('article_id' => $i));
}

$res = $d->command( 
	array(
		'aggregate' => 'cursorcmd', 
		'pipeline' => array( 
			array( '$limit' => 7 ) 
		), 
		'cursor' => array( 'batchSize' => 3 )
	),
	null,
	$hash
);

$c = MongoCommandCursor::createFromDocument($m, $hash, $res);
$c->batchSize(3);

foreach( $c as $res )
{
	echo $res['article_id'], ' ';
}
echo "\n";
try {
	foreach( $c as $res )
	{
		echo $res['article_id'], ' ';
	}
	echo "\n";
} catch (MongoCursorException $e) {
	echo $e->getCode(), "\n";
	echo $e->getMessage(), "\n";
}
?>
--EXPECT--
0 1 2 3 4 5 6 
33
cannot iterate twice with command cursors created through createFromDocument