(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 и журналов. Комментарий может быть любым допустимым типом BSON для MongoDB 4.4+. Более ранние версии сервера поддерживают только строковые значения. Возврат к устаревшему модификатору |
exhaust | bool | Потоковая передача данных на полную мощность в нескольких "дополнительных" пакетах при условии, что клиент полностью прочитает все запрашиваемые данные. Быстрее, когда вы извлекаете много данных и знаете, что хотите все это перенести. Примечание: клиент не имеет права не читать все данные, если он не закрывает соединение. Эта опция не поддерживается командой find в MongoDB 3.2+ и заставит драйвер использовать устаревшую версию проводного протокола (то есть OP_QUERY). |
explain | bool | Если Возврат к устаревшему модификатору Эта опция не поддерживается командой find в MongoDB 3.2+ и будет учитываться только при использовании устаревшей версии проводного протокола (т.е. OP_QUERY). Команда » explain должна использоваться на MongoDB 3.0+. |
hint | string|array|object | Индекс спецификации. Укажите либо имя индекса в виде строки, либо шаблон ключа индекса. Если указано, то система запросов будет рассматривать планы только с использованием хинтованного индекса. Откат к устаревшей опции |
let | array|object | Карта имён и значений параметров. Значения должны быть константами или закрытыми выражениями, которые не ссылаются на поля документа. К параметрам можно обращаться как к переменным в контексте агрегированного выражения (например, Опция доступна в MongoDB 5.0+ и приведёт к исключению во время выполнения, если указана для более старой версии сервера. |
limit | int | Максимальное количество документов для возврата. Если не указано, то по умолчанию используется без ограничений. Значение 0 эквивалентно установке без ограничения. Отрицательное значение будет интерпретироваться как положительное значение с параметром |
max | array|object | Эксклюзивная верхняя граница для определённого индекса. Возврат к устаревшему модификатору |
maxAwaitTimeMS | int | Положительное целое число, обозначающее ограничение времени в миллисекундах для сервера, чтобы заблокировать операцию getMore, если данные недоступны. Эта опция должна использоваться только в сочетании с опциями |
maxScan | int | Внимание Эта опция устарела и не должна использоваться. Целое положительное число, обозначающее максимальное количество документов или индексных ключей для сканирования при выполнении запроса. Возврат к устаревшему модификатору |
maxTimeMS | int | Накопленный лимит времени в миллисекундах для операций обработки на курсоре. MongoDB прерывает операцию в ближайшей следующей точке прерывания. Возврат к устаревшему модификатору |
min | array|object | Включающая нижняя граница для определённого индекса. Возврат к устаревшему модификатору |
modifiers | array | » Метаоператоры, изменяющие вывод или поведение запроса. Использование этих операторов не рекомендуется в пользу именованных опций. |
noCursorTimeout | bool | Запрещает серверу синхронизировать незанятые курсоры после периода бездействия (10 минут). |
oplogReplay | bool | Внутреннее использование для наборов реплик. Чтобы использовать oplogReplay, вы должны включить в фильтр следующее условие: [ 'ts' => [ '$gte' => <timestamp> ] ]
|
projection | array|object | » Спецификация проекции для определения полей, которые необходимо включить в возвращаемые документы. Если вы используете функцию ODM для десериализации документов в качестве их исходного класса PHP, убедитесь, что вы включили поле __pclass в проекцию. Это необходимо для работы десериализации, и без неё драйвер вернёт (по умолчанию) объект stdClass. |
readConcern | MongoDB\Driver\ReadConcern | Гарантии чтения, чтобы применить к операции. По умолчанию будут использоваться гарантии чтения из URI подключения MongoDB. Эта опция доступна в MongoDB 3.2+ и приведёт к исключению во время выполнения, если указано для более старой версии сервера. |
returnKey | bool | Если Возврат к устаревшему модификатору |
showRecordId | bool | Определяет, возвращать ли идентификатор записи для каждого документа. Если Возврат к устаревшему модификатору |
singleBatch | bool | Определяет, закрывать ли курсор после первого пакета. По умолчанию false . |
skip | int | Количество документов для пропуска. По умолчанию 0. |
snapshot | bool | Внимание Эта опция устарела и не должна использоваться. Запрещает курсору возвращать документ более одного раза из-за промежуточной операции записи. Возврат к устаревшему модификатору |
sort | array|object | Спецификация сортировки для упорядочения результатов. Возврат к устаревшему модификатору |
tailable | bool | Возвращает настраиваемый курсор для ограниченной коллекции. |
Версия | Описание |
---|---|
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
$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::RP_PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, $readPreference);
foreach($cursor as $document) {
var_dump($document);
}
?>