MongoDB\Driver\Query::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Query::__construct — Створює новий запит

Опис

final public MongoDB\Driver\Query::__construct(array|object $filter, ?array $queryOptions = null)

Створює новий MongoDB\Driver\Queryякий є об'єктом незмінного значення, що представляє запит до бази даних. Потім запит може бути виконаний за допомогою MongoDB\Driver\Manager::executeQuery()

Список параметрів

filter(array|object)

» Предикат запиту. Порожній предикат збігатиметься з усіма елементами колекції.

Зауваження: При обчисленні критеріїв запиту MongoDB порівнює типи та значення відповідно до власних » правилами порівняння типів BSON, відмінних від правил порівняння і приведення типів PHP. Коли вказано спеціальний тип BSON, критерій запиту має відповідати класу BSON (тобто використовувати MongoDB\BSON\ObjectId для вибірки по » ObjectId

queryOptions

queryOptions

ОпцияТипОпис
allowDiskUsebool
Дозволяє MongoDB використовувати тимчасові файли на диску для зберігання даних, що перевищують межу системної пам'яті 100 мегабайт, при обробці операції сортування блокування.

| | allowPartialResults | bool |

Для запитів до ізольованої колекції повертає часткові результати з mongos, якщо деякі шарди недоступні замість видачі помилки.

Возврат к устаревшей"partial" опції, якщо вона не вказана.

| | awaitData | bool | Використовуйте разом із опцією "tailable"тимчасово заблокувати операцію getMore для курсору, якщо в кінці даних, а не повертати жодних даних. Після закінчення часу очікування запит повертається, як завжди. | | batchSize | int |

Кількість документів для повернення у першому пакеті. За замовчуванням – 101. Розмір пакета 0 означає, що курсор буде встановлений, але жодні документи не будуть повернуті у першому пакеті.

У версіях MongoDB до 3.2, де запити використовують застарілий дротовий протокол OP_QUERY, розмір пакета, що дорівнює 1, буде закривати курсор незалежно від кількості документів, що збігаються.

| | collation | array|object |

» Зіставлення дозволяє користувачам вказувати специфічні для конкретної мови правила для порівняння рядків, такі як реакцію на регістр літер та надрядкові знаки. Якщо поставлено зіставлення, то поле "locale"также обязательно. Опис полей смотрите в разделе» Зіставлення

Якщо зіставлення не задано явно, але в колекції визначено зіставлення за умовчанням, буде використано воно. Якщо немає ні того, то MongoDB буде використовувати просте бінарне порівняння рядків.

Ця опція доступна у MongoDB 3.4+ і, якщо буде використана для більш старих версій, викличе виняток під час виконання.

| | comment |mixed

Довільний коментар, що допомагає відстежити операцію за допомогою профільника бази даних, виводу CurrentOp та журналів.

Коментар може бути будь-яким типом BSON для MongoDB 4.4+. Більш ранні версії сервера підтримують лише строкові значення.

Возврат к устаревшему модификатору"$comment"якщо він не вказаний.

| | exhaust | bool |

Потокова передача даних на повну потужність в декількох "додаткових" пакетах за умови, що клієнт повністю прочитає всі дані, що запитуються. Швидше, коли ви отримуєте багато даних і знаєте, що ви хочете все це перенести. Примітка: клієнт не має права не читати всі дані, якщо не закриває з'єднання.

Ця опція не підтримується командою find у MongoDB 3.2+ і змусить драйвер використовувати застарілу версію проводового протоколу (тобто OP_QUERY).

| | explain | bool |

Якщо true, повернутий MongoDB\Driver\Cursor міститиме один документ, який описує процес та індекси, що використовуються для повернення запиту.

Возврат к устаревшему модификатору"$explain"якщо він не вказаний.

Ця опція не підтримується командою find в MongoDB 3.2+ і враховуватиметься лише при використанні застарілої версії проводового протоколу (тобто OP_QUERY). Команда» explain має використовуватися на MongoDB 3.0+.

| | hint | string|array|object |

Індекс специфікації. Вкажіть або назву індексу у вигляді рядка, або шаблон ключа індексу. Якщо вказано, то система запитів розглядатиме плани лише з використанням індексу хінтованого.

Откат к устаревшей опции"hint"якщо вона не вказана.

| | let | array|object |

Карта імен та значень параметрів. Значення мають бути константами або закритими виразами, які посилаються на поля документа. До параметрів можна звертатися як до змінних у контексті агрегованого виразу (наприклад, $$var

Опція доступна в MongoDB 5.0+ і призведе до виключення під час виконання, якщо вказана для старої версії сервера.

| | limit | int |

Максимальна кількість документів для повернення. Якщо не вказано, використовується за умовчанням без обмежень. Значення 0 еквівалентне встановленню без обмеження.

Негативне значення інтерпретуватиметься як позитивне значення з параметром "singleBatch", встановленим у значення true. Ця поведінка підтримується для зворотної сумісності, але її слід вважати застарілою.

| | max | array|object |

Ексклюзивна верхня межа для певного індексу.

Возврат к устаревшему модификатору"$max"якщо він не вказаний.

| | maxAwaitTimeMS | int |

Позитивне ціле число, що означає обмеження часу в мілісекундах для сервера, щоб заблокувати операцію getMore, якщо дані недоступні. Ця опція повинна використовуватися лише у поєднанні з опціями "tailable"и"awaitData"

| | maxScan | int |

Увага

Ця опція застаріла і не повинна використовуватись.

Ціла позитивна кількість, що позначає максимальну кількість документів або індексних ключів для сканування при виконанні запиту.

Возврат к устаревшему модификатору"$maxScan"якщо він не вказаний.

| | maxTimeMS | int |

Накопичений ліміт часу у мілісекундах для операцій обробки на курсорі. MongoDB перериває операцію в найближчій точці переривання.

Возврат к устаревшему модификатору"$maxTimeMS"якщо він не вказаний.

| | min | array|object |

Включає нижня межа для певного індексу.

Возврат к устаревшему модификатору"$min"якщо він не вказаний.

| | modifiers | array |» Метаоператори, що змінюють виведення чи поведінку запиту. Використання цих операторів не рекомендується на користь іменованих опцій. | | noCursorTimeout | bool | Забороняє серверу синхронізувати незайняті курсори після періоду бездіяльності (10 хвилин). | | oplogReplay | bool |

Внутрішнє використання для реплік наборів. Щоб використовувати oplogReplay, ви повинні включити до фільтра наступну умову:

[ 'ts' => [ '$gte' => ] ]

Зауваження: Опція застаріла з версії 1.8.0

| | projection | array|object |

» Специфікація проекції для визначення полів, які необхідно включити до документів, що повертаються.

Якщо ви використовуєте функцію ODM для десеріалізації документів як їх вихідний клас PHP, переконайтеся, що ви включили поле __pclass у проекцію. Це необхідно для роботи десеріалізації, і без неї драйвер поверне (за умовчанням) об'єкт stdClass

| | readConcern |MongoDB\Driver\ReadConcern

Гарантії читання застосувати до операції. За промовчанням будуть використовуватися гарантії читання з URI підключення MongoDB

Ця опція доступна в MongoDB 3.2+ і призведе до виключення під час виконання, якщо вказано для старої версії сервера.

| | returnKey | bool |

Якщо true, повертає лише індексні ключі у результуючих документах. Значення за умовчанням є false. Якщо true і команда find не використовують індекс, повернуті документи будуть порожніми.

Возврат к устаревшему модификатору"$returnKey"якщо він не вказаний.

| | showRecordId | bool |

Визначає, чи повертати ідентифікатор запису для кожного документа. Якщо true, добавляет поле"$recordId" верхнього рівня до повернутих документів.

Возврат к устаревшему модификатору"$showDiskLoc"якщо він не вказаний.

| | singleBatch | bool | Визначає, чи закривати курсор після першого пакета. За замовчуванням false| | skip | int | Количество документов для пропуска. По умолчанию 0. | | snapshot | bool |

Увага

Ця опція застаріла і не повинна використовуватись.

Забороняє курсору повертати документ більше одного разу через проміжну операцію запису.

Возврат к устаревшему модификатору"$snapshot"якщо він не вказаний.

| | sort | array|object |

Специфікація сортування для впорядкування результатів.

Возврат к устаревшему модификатору"$orderby"якщо він не вказаний.

| | tailable | bool | Повертає курсор для обмеженої колекції. |

Помилки

список змін

ВерсияОпис
PECL mongodb 1.14.0
Добавлена опция"let"Опция"comment" тепер приймає будь-який тип.

| | PECL mongodb 1.8.0 |

Добавлен параметр"allowDiskUse"

Параметр"oplogReplay" оголошено застарілим.

| | PECL mongodb 1.5.0 |

Параметри "maxScan"и"snapshot"устарели.

| | PECL mongodb 1.3.0 |

Добавлен параметр"maxAwaitTimeMS"

| | PECL mongodb 1.2.0 |

Добавлен параметр"allowPartialResults" "collation" "comment" "hint" "max" "maxScan" "maxTimeMS" "min" "returnKey" "showRecordId", и"snapshot"

Переименован параметр"partial"в"allowPartialResults". Для зворотної сумісності, "partial" все одно буде прочитаний, якщо "allowPartialResults" не вказано.

Видалено застарілий параметр "secondaryOk". Для запитів, які використовують застарілий дротовий протокол OP_QUERY, драйвер установит битsecondaryOk при необхідності відповідно до » Специфікацією вибору сервера

| | PECL mongodb 1.1.0 | Добавлен параметр"readConcern".

Приклади

Приклад #1 Приклад використання MongoDB\Driver\Query::__construct()****

Loading...

Дивіться також