(mongodb >=1.0.0)
MongoDB\Driver\Query::__construct — Construct new Query
$filter
[, array $queryOptions
] )
filter (array|object)The search filter.
queryOptions
| Option | Type | Description |
|---|---|---|
| limit | integer | The number of documents to be returned |
| batchSize | integer | The number of documents to return per batch |
| skip | integer | The number of documents to skip before returning |
| sort | array|object | The order in which to return matching documents |
| modifiers | array | Meta operators modifying the output or behavior of a query |
| projection | array|object | Specifies the fields to return using booleans or projection operators |
| tailable | bool | Cursor will not be closed when the last data is retrieved. You can resume this cursor later |
| slaveOk | bool | Allow query of replica set secondaries |
| oplogReplay | bool | Internal MongoDB Server flag |
| noCursorTimeout | bool | Do not timeout a cursor that has been idle for more then 10minutes |
| awaitData | bool | Block rather than returning no data. After a period, time out. Useful for tailable cursor |
| exhaust | bool | Stream the data down full blast in multiple "reply" packets. Faster when you are pulling down a lot of data and you know you want to retrieve it all |
| partial | bool | Get partial results from mongos if some shards are down (instead of throwing an error) |
Example #1 MongoDB\Driver\Query::__construct() example
<?php
$filter = array();
$options = array(
/* Only return the following fields in the matching documents */
"projection" => array(
"title" => 1,
"article" => 1,
),
"sort" => array(
"views" => -1,
),
"modifiers" => array(
'$comment' => "This is a query comment",
'$maxTimeMS' => 100,
),
);
$query = new MongoDB\Driver\Query($filter, $options);
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$cursor = $manager->executeQuery("databaseName.collectionName", $query, $readPreference);
foreach($cursor as $document) {
var_dump($document);
}
?>