mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-04-01 22:02:23 +02:00
This also entails a change to done/end_of_event cursor field assertions. These are internal libmongoc cursor fields and their values aren't relevant to the tests. In the future, we may consider removing them from the Cursor's dump output.
112 lines
2.1 KiB
PHP
112 lines
2.1 KiB
PHP
--TEST--
|
|
MongoDB\Driver\Manager::executeQuery() one document (OP_QUERY)
|
|
--SKIPIF--
|
|
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
|
|
<?php NEEDS("STANDALONE_30"); CLEANUP(STANDALONE_30); ?>
|
|
--FILE--
|
|
<?php
|
|
require_once __DIR__ . "/../utils/basic.inc";
|
|
|
|
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
|
|
|
|
// load fixtures for test
|
|
$bulk = new MongoDB\Driver\BulkWrite();
|
|
$bulk->insert(array('_id' => 1, 'x' => 2, 'y' => 3));
|
|
$bulk->insert(array('_id' => 2, 'x' => 3, 'y' => 4));
|
|
$bulk->insert(array('_id' => 3, 'x' => 4, 'y' => 5));
|
|
$manager->executeBulkWrite(NS, $bulk);
|
|
|
|
$query = new MongoDB\Driver\Query(array('x' => 3), array('projection' => array('y' => 1)));
|
|
$qr = $manager->executeQuery(NS, $query);
|
|
|
|
var_dump($qr instanceof MongoDB\Driver\Cursor);
|
|
var_dump($qr);
|
|
|
|
$server = $qr->getServer();
|
|
|
|
var_dump($server instanceof MongoDB\Driver\Server);
|
|
var_dump($server->getHost());
|
|
var_dump($server->getPort());
|
|
|
|
var_dump(iterator_to_array($qr));
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECTF--
|
|
bool(true)
|
|
object(MongoDB\Driver\Cursor)#%d (%d) {
|
|
["cursor"]=>
|
|
array(%d) {
|
|
["stamp"]=>
|
|
int(0)
|
|
["is_command"]=>
|
|
bool(false)
|
|
["sent"]=>
|
|
bool(true)
|
|
["done"]=>
|
|
bool(false)
|
|
["end_of_event"]=>
|
|
bool(false)
|
|
["in_exhaust"]=>
|
|
bool(false)
|
|
["has_fields"]=>
|
|
bool(true)
|
|
["query"]=>
|
|
object(stdClass)#%d (%d) {
|
|
["$query"]=>
|
|
object(stdClass)#%d (%d) {
|
|
["x"]=>
|
|
int(3)
|
|
}
|
|
}
|
|
["fields"]=>
|
|
object(stdClass)#%d (%d) {
|
|
["y"]=>
|
|
int(1)
|
|
}
|
|
["read_preference"]=>
|
|
array(2) {
|
|
["mode"]=>
|
|
int(1)
|
|
["tags"]=>
|
|
array(0) {
|
|
}
|
|
}
|
|
["flags"]=>
|
|
int(0)
|
|
["skip"]=>
|
|
int(0)
|
|
["limit"]=>
|
|
int(0)
|
|
["count"]=>
|
|
int(1)
|
|
["batch_size"]=>
|
|
int(0)
|
|
["ns"]=>
|
|
string(39) "phongo.manager_manager_executeQuery_001"
|
|
["current_doc"]=>
|
|
object(stdClass)#%d (2) {
|
|
["_id"]=>
|
|
int(2)
|
|
["y"]=>
|
|
int(4)
|
|
}
|
|
}
|
|
["server_id"]=>
|
|
int(1)
|
|
}
|
|
bool(true)
|
|
string(%d) "%s"
|
|
int(%d)
|
|
array(1) {
|
|
[0]=>
|
|
object(stdClass)#%d (2) {
|
|
["_id"]=>
|
|
int(2)
|
|
["y"]=>
|
|
int(4)
|
|
}
|
|
}
|
|
===DONE===
|