(mongodb >=1.0.0)
MongoDB\Driver\Query::__construct — Создаёт новый запрос
Метод создаёт новый объект MongoDB\Driver\Query — неизменяемый объект значения, который представляет запрос к базе данных. После этого запрос готов к выполнению методом MongoDB\Driver\Manager::executeQuery().
filter (array|object)» Предикат запроса. Пустой предикат совпадёт со всеми элементами коллекции.
Замечание: СУБД MongoDB при оценке критериев запроса сравнивает типы и значения по внутренним » правилам сравнения BSON-типов, которые не совпадают с правилами сравнения и жонглирования типами в PHP. При сопоставлении специального BSON-типа в запросе требуется передать объект BSON-класса, который соответствует типу BSON-значения, поэтому для сопоставления с BSON-типом » ObjectId указывают объект класса MongoDB\BSON\ObjectId.
queryOptions
| Опция | Тип | Описание | 
|---|---|---|
| allowDiskUse | bool | Разрешает БД MongoDB при обработке операции блочной сортировки хранить на диске временные файлы с данными, размер которых превышает 100-мегабайтный предел системной памяти. | 
| allowPartialResults | bool | Для запросов к шардированной коллекции вместо выдачи ошибки возвращает из процесса mongos частичные результаты, если отдельные шарды недоступны. 
            Драйвер откатится к считыванию устаревшей опции  | 
| awaitData | bool | Опцию указывают совместно с опцией "tailable",
           чтобы вместо возврата данных временно заблокировать операцию getMore для курсора,
           если курсор в конце данных. По истечении времени ожидания запрос возвращается
           в стандартном режиме. | 
| batchSize | int | Устанавливает количество документов для возврата в первом пакете. Значение по умолчанию равно 101. Размер пакета 0 означает, что курсор установится, но документы не вернутся в первом пакете. В версиях MongoDB до 3.2, в которых запросы работают по устаревшему проводному протоколу OP_QUERY, размер пакета со значением 1 закроет курсор независимо от количества совпадающих документов. | 
| collation | array|object | 
   » Сопоставление
   позволяет пользователям указывать специфичные для конкретного языка правила
   для сравнения строк, такие как реакцию на регистр букв и надстрочные знаки.
   Если задали сопоставление, то поле  Если сопоставление не задали явно, но у коллекции определили сопоставление по умолчанию, то будет выбрано оно. Если нет ни того ни того, то MongoDB будет использовать простое бинарное сравнение строк. Эта опция доступна в MongoDB 3.4+ и, если будет использована для более старых версий, вызовет исключение во время исполнения. | 
| comment | mixed | Добавляет произвольный комментарий, который помогает отслеживать операцию через профилировщик базы данных, данные, которые выводит метод CurrentOp, и журналы. Комментарий добавляют в виде допустимого для MongoDB 4.4+ BSON-типа. Предыдущие версии сервера поддерживают только строковые значения. 
            Драйвер откатится к считыванию устаревшего модификатора  | 
| exhaust | bool | Настраивает запрос на потоковую передачу данных клиенту на полную мощность в нескольких «дополнительных» пакетах при условии, что клиент прочитает все данные, которые запросил. Опция уменьшает задержку, когда извлекается много данных и известно, что требуется извлечь все данные. Примечание: клиенту требуется прочитать все данные или закрыть соединение. Опция не поддерживается командой find в MongoDB 3.2+ и заставит драйвер использовать устаревшую версию проводного протокола (то есть OP_QUERY). | 
| explain | bool | 
            Со значением  
            Драйвер откатится к считыванию устаревшего модификатора  Команда find в БД MongoDB 3.2+ не поддерживает эту опцию, опцию учитывает только устаревшая версия проводного протокола — с кодом операции OP_QUERY в заголовке сообщения. В БД MongoDB 3.0+ вместо этой опции пользуются командой » explain. | 
| hint | string|array|object | Устанавливает спецификацию индекса. Значение опции указывают либо как название индекса в виде строки, либо как шаблон ключа индекса. С этой опцией система запросов будет рассматривать только планы запроса с подсказкой индекса. 
            Драйвер откатится к считыванию устаревшей опции  | 
| let | array|object | 
            Карта имён и значений параметров. Значения должны быть константами или закрытыми выражениями, которые не ссылаются на поля документа. К параметрам можно обращаться как к переменным в контексте агрегированного выражения (например,  Опция доступна в MongoDB 5.0+ и приведёт к исключению во время выполнения, если указана для более старой версии сервера. | 
| limit | int | Параметр устанавливает максимальное количество документов для возврата. По умолчанию ограничений нет, если опцию не указали. Значение 0 — то же, что отмена ограничения. | 
| max | array|object | Устанавливает эксклюзивную верхнюю границу для конкретного индекса. 
            Драйвер откатится к считыванию устаревшего модификатора  | 
| maxAwaitTimeMS | int | 
            Принимает положительное целое число, которое устанавливает ограничение времени в миллисекундах,
            в течение которого серверу разрешается заблокировать операцию getMore при недоступности данных.
            Опцию указывают только в сочетании с опциями
             | 
| maxTimeMS | int | Совокупный лимит времени в миллисекундах для операций обработки на курсоре. БД MongoDB прерывает операцию в ближайшей следующей точке прерывания. 
            Драйвер откатится к считыванию устаревшего модификатора  | 
| min | array|object | Инклюзивная нижняя граница для конкретного индекса. 
            Драйвер откатится к считыванию устаревшего модификатора  | 
| noCursorTimeout | bool | Запрещает серверу синхронизировать незанятые курсоры после периода бездействия, который составляет 10 минут. | 
| projection | array|object | » Спецификация проекции, которая помогает определить, какие поля включать в документы, которые возвращает БД. В проекцию включают поле __pclass, если при работе с функциями ODM требуется десериализовать документы в их исходный PHP-класс. Десериализация будет работать только с этим полем, а без него модуль по умолчанию вернёт объект класса stdClass. | 
| readConcern | MongoDB\Driver\ReadConcern | Определяет уровень изоляции для операций чтения. По умолчанию модуль использует ограничения считывания из URI-идентификатора подключения к БД MongoDB. Эта опция доступна в MongoDB 3.2+ и выбросит исключение во время выполнения, если опцию указали для более старой версии сервера. | 
| returnKey | bool | 
            Со значением  
            Драйвер откатится к считыванию устаревшего модификатора  | 
| showRecordId | bool | 
            Определяет, возвращать ли идентификатор записи для каждого
            документа. Со значением  
            Драйвер откатится к считыванию устаревшего модификатора  | 
| singleBatch | bool | Определяет, закрывать ли курсор после первого пакета.
           Значение по умолчанию равно false. | 
| skip | int | Определяет количество документов, которое требуется пропустить для пропуска. Значение по умолчанию равно 0. | 
| sort | array|object | Спецификация сортировки для упорядочения результатов. 
            Драйвер откатится к считыванию устаревшего модификатора  | 
| tailable | bool | Возвращает хвостовой курсор для ограниченной коллекции. | 
| Версия | Описание | 
|---|---|
| PECL mongodb 2.0.0 | 
         Параметр  
         Параметр  
         Параметр  
         Параметр  
         Параметр  
         Отрицательное значение в параметре  | 
| PECL-модуль mongodb 1.14.0 | 
         Добавили опцию  | 
| PECL-модуль mongodb 1.8.0 | 
         Добавили опцию  
         Опция  | 
| PECL-модуль mongodb 1.5.0 | 
         Опции  | 
| PECL-модуль mongodb 1.3.0 | 
         Добавили опцию  | 
| PECL-модуль mongodb 1.2.0 | 
         Добавили опции  
         Опцию  
         Удалили устаревший параметр  | 
| PECL-модуль mongodb 1.1.0 | Добавили опцию "readConcern". | 
Пример #1 Пример использования метода MongoDB\Driver\Query::__construct()
<?php
/* Выбераем только документы автора "bjori" с количеством просмотров, которое равно или превышает 100 */
$filter = [
    'author' => 'bjori',
    'views' => [
        '$gte' => 100,
    ],
];
$options = [
    /* Возвращаем только следующие поля в соответствующих документах */
    'projection' => [
        'title' => 1,
        'article' => 1,
    ],
    /* Возвращаем документы в порядке убывания просмотров */
    'sort' => [
        'views' => -1
    ],
];
$query = new MongoDB\Driver\Query($filter, $options);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, ['readPreference' => $readPreference]);
foreach ($cursor as $document) {
    var_dump($document);
}
?>