PHP 7.0.6 Released

The MongoDB\Driver\Query class

(mongodb >=1.0.0)

Introduction

The MongoDB\Driver\Query class is a value object that represents a database query.

Class synopsis

final MongoDB\Driver\Query {
/* Methods */
final public __construct ( array|object $filter [, array $queryOptions ] )
}

Table of Contents

User Contributed Notes

maha88a
22 days ago
Here is an example of Query to retrieve the records from MangoDB collection using a filter. It will return in this case just one record that satisfy the filter id = 2.

Considering the following MangoDB collection:

<?php
/* my_collection */

/* 1 */
{
   
"_id" : ObjectId("5707f007639a94cbc600f282"),
   
"id" : 1,
   
"name" : "Name 1"
}

/* 2 */
{
   
"_id" : ObjectId("5707f0a8639a94f4cd2c84b1"),
   
"id" : 2,
   
"name" : "Name 2"
}
?>

I'm using the following code:
<?php
$filter
= ['id' => 2];
$options = [
  
'projection' => ['_id' => 0],
];
$query = new MongoDB\Driver\Query($filter, $options);
$rows = $mongo->executeQuery('db_name.my_collection', $query); // $mongo contains the connection object to MongoDB
foreach($rows as $r){
  
print_($r);
}
?>
andzandz
1 month ago
Careful with your filter here - integers and strings are different.

With a string ID '1000', this query will mysteriously return 0 results; wasted time figuring out what was going on:

$query = new MongoDB\Driver\Query(['_id' => 1000]);

This will work:

$query = new MongoDB\Driver\Query(['_id' => '1000']);

Would be nice if the library could handle this.
To Top