(mongodb >=1.0.0)
MongoDB\Driver\Manager::executeQuery — Execute a database query
$namespace
, MongoDB\Driver\Query $query
[, MongoDB\Driver\ReadPreference $readPreference
] )
Executes query
on a server. If
readPreference
is provided, it will be used for server
selection; otherwise, the default read preference will be used.
namespace
(string)A fully qualified namespace (e.g. "databaseName.collectionName").
query
(MongoDB\Driver\Query)The MongoDB\Driver\Query to execute.
readPreference
(MongoDB\Driver\ReadPreference)Optionally, a MongoDB\Driver\ReadPreference to select the server for this operation. If none is given, the read preference from the MongoDB Connection URI will be used.
Returns MongoDB\Driver\Cursor on success.
Example #1 MongoDB\Driver\Manager::executeQuery() example
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);
$filter = ['x' => ['$gt' => 1]];
$options = [
'projection' => ['_id' => 0],
'sort' => ['x' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);
foreach ($cursor as $document) {
var_dump($document);
}
?>
以上例程会输出:
object(stdClass)#6 (1) { ["x"]=> int(3) } object(stdClass)#7 (1) { ["x"]=> int(2) }