(mongodb >=1.0.0)
MongoDB\Driver\Query::__construct — Создаёт новый запрос
Метод создаёт новый объект MongoDB\Driver\Query — неизменяемый объект значения, который представляет запрос к базе данных. После этого запрос готов к выполнению методом MongoDB\Driver\Manager::executeQuery().
filter
(array|object)» Предикат запроса. Пустой предикат совпадёт со всеми элементами коллекции.
Замечание: При вычислении критериев запроса MongoDB сравнивает типы и значения в соответствии с собственными » правилами сравнения типов BSON, отличных от правил сравнения и приведения типов PHP. Когда указан специальный тип BSON, критерия запроса должна соответствовать классу BSON (т.е. использовать MongoDB\BSON\ObjectId для выборке по » 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);
}
?>