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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
--TEST--
MongoCollection::aggregateCursor() with limit and no options
--SKIPIF--
<?php $needs = "2.5.3"; require_once "tests/utils/standalone.inc";?>
<?php if (!MONGO_STREAMS) { echo "skip This test requires streams support"; } ?>
--FILE--
<?php
require "tests/utils/server.inc";
function log_query($server, $query, $info) {
printf("Issuing command: %s\n", key($query));
if (isset($query['cursor']['batchSize'])) {
printf("Cursor batch size: %d\n", $query['cursor']['batchSize']);
}
}
function log_getmore($server, $info) {
echo "Issuing getmore\n";
}
$ctx = stream_context_create(array(
'mongodb' => array(
'log_query' => 'log_query',
'log_getmore' => 'log_getmore',
),
));
$host = MongoShellServer::getStandaloneInfo();
$mc = new MongoClient($host, array(), array('context' => $ctx));
$collection = $mc->selectCollection(dbname(), collname(__FILE__));
$collection->drop();
for ($i = 0; $i < 10; $i++) {
$collection->insert(array('article_id' => $i));
}
$cursor = $collection->aggregateCursor(
array( array( '$limit' => 2 ) )
);
printf("Cursor class: %s\n", get_class($cursor));
foreach ($cursor as $key => $record) {
var_dump($key);
var_dump($record);
}
?>
===DONE===
--EXPECTF--
Issuing command: drop
Cursor class: MongoCommandCursor
Issuing command: aggregate
Cursor batch size: 101
int(0)
array(2) {
["_id"]=>
object(MongoId)#%d (1) {
["$id"]=>
string(24) "5%s"
}
["article_id"]=>
int(0)
}
int(1)
array(2) {
["_id"]=>
object(MongoId)#%d (1) {
["$id"]=>
string(24) "5%s"
}
["article_id"]=>
int(1)
}
===DONE===
|