MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommand — Виконати команду бази даних на сервері

Опис

final public MongoDB\Driver\Server::executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Виконує команду на сервері.

Цей метод не застосовує особливої ​​логіки до команди. Хоча цей метод приймає "readConcern"и"writeConcern", які будуть включені в документи коанди, ці опції не будуть відповідати значенням за замовчуванням MongoDB URI з'єднання , і не враховуватиметься версія сервера MongoDB. Тому користувачам рекомендується використовувати конкретні методи команди читання та/або запису, якщо це можливо.

Зауваження: Опция"readPreference" не контролює сервер, якого драйвер виконує операцію; вона завжди виконуватиметься на цьому об'єкті сервера. Натомість, він може бути використаний при виконанні операції на другому вузлі (з набору реплік, не автономний) або на вузлі mongos для забезпечення того, що драйвер встановлює дротовий протокол відповідним чином або додає перевагу читання до операції відповідно.

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

db(string)

Ім'я бази даних, у якій запускається команда.

command MongoDB\Driver\Command) .

Команда для виконання.

options

options

ОпцияТипОпис
readConcernMongoDB\Driver\ReadConcern
Гарантія для застосування до операції.

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

| | readPreference |MongoDB\Driver\ReadPreference

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

| | session |MongoDB\Driver\Session

Сесія зв'язування з операцією.

| | writeConcern |MongoDB\Driver\WriteConcern

Гарантія запису для застосування до операції.

Увага

При использовании"session" та наявності незавершених транзакцій, ви не можете вказати "readConcern"or"writeConcern" option. Це призведе до викидання винятків MongoDB\Driver\Exception\InvalidArgumentException. Натомість ви повинні встановити ці дві опції при створенні транзакції за допомогою MongoDB\Driver\Session::startTransaction()

Значення, що повертаються

У разі успішного виконання повертає MongoDB\Driver\Cursor

Помилки

список змін

ВерсияОпис
PECL mongodb 1.4.4Якщо опція "session" використовується у поєднанні з непідтвердженою гарантією запису, викидається виняток MongoDB\Driver\Exception\InvalidArgumentException
PECL mongodb 1.4.0Третій параметр тепер є масивом options. . Для зворотної сумісності цей параметр все одно прийме об'єкт MongoDB\Driver\ReadPreference

Примітки

Зауваження: Відповідальність коду, що викликає, полягає в тому, що сервер в змозі виконувати операцію запису. Наприклад, виконання операції запису на вторинному вузлі (за винятком «локальної» бази даних) завершиться невдачею.

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