PHP.mk документација

MongoDB\Driver\Manager::executeCommand

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mongodb-driver-manager.executecommand.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека mongodb-driver-manager.executecommand.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
MongoDB\Driver\Manager::executeCommand

Референца за `mongodb-driver-manager.executecommand.php` со подобрена типографија и навигација.

mongodb-driver-manager.executecommand.php

MongoDB\Driver\Manager::executeCommand

класата MongoDB\Driver\BulkWrite

MongoDB\Driver\Manager::executeCommandИзврши команда на базата на податоци

= NULL

final public function MongoDB\Driver\Manager::executeCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Избира сервер според "readPreference" Изврши команда на базата на податоци

Овој метод не применува никаква посебна логика на командата. Стандардните вредности за "readPreference", "readConcern"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "writeConcern" опциите ќе бидат изведени од активна трансакција (означена со "session" опција). Ако нема активна трансакција, ќе се користи примарна преференција за читање за избор на сервер.

Стандардните вредности ќе not бидат изведени од URI за поврзување. Затоа, корисниците се охрабруваат да користат специфични методи за читање и/или пишување команди доколку е можно.

Параметри

db (string)
Името на базата на податоци на која ќе се изврши командата.
command (MongoDB\Driver\Command)
Командата за извршување.
options

options
Опција Тип = NULL
readConcern MongoDB\Driver\ReadConcern Загриженост за читање што ќе се примени на операцијата. Оваа опција е достапна во MongoDB 3.2+ и ќе резултира со исклучок при извршување ако е специфицирана за постар сервер.
readPreference MongoDB\Driver\ReadPreference Преференција за читање што ќе се користи за избор на сервер за операцијата.
session MongoDB\Driver\Session Сесија што ќе се поврзе со операцијата.
writeConcern MongoDB\Driver\WriteConcern Загриженост за пишување што ќе се примени на операцијата.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Ако користите "session" што има активна трансакција, не можете да специфицирате "readConcern" or "writeConcern" опција. Ова ќе резултира со MongoDB\Driver\Exception\InvalidArgumentException фрлање. Наместо тоа, треба да ги поставите овие две опции кога ја креирате трансакцијата со за тие операции..

Вратени вредности

Патеката до PHP скриптата што треба да се провери. MongoDB\Driver\Cursor на успешен исход.

Errors/Exceptions

Дневник на промени

Верзија = NULL
(mongodb >=1.3.0) На options параметарот веќе не прифаќа MongoDB\Driver\ReadPreference instance.
опција и ја извршува командата на тој сервер. Проследување на MongoDB\Driver\ReadPreference објект како options е застарен и ќе биде отстранет во 2.0.
на други грешки (на пр. неважечка команда). MongoDB\Driver\Exception\InvalidArgumentException Како на PHP 7.1.0, "session" опцијата се користи во комбинација со непризнаен запис на загриженост.
на грешки при парсирање на аргументи. Третиот параметар сега е options низа. За компатибилност со претходните верзии, овој параметар сè уште ќе прифаќа MongoDB\Driver\ReadPreference object.

Примери

Пример #1 , што е непроменлива вредносна објект што претставува команда на базата на податоци. Командата потоа може да се изврши со PECL mongodb 1.21.0

<?php

$manager
= new MongoDB\Driver\Manager('mongodb://localhost:27017');
$command = new MongoDB\Driver\Command(['ping' => 1]);

try {
$cursor = $manager->executeCommand('admin', $command);
} catch(
MongoDB\Driver\Exception $e) {
echo
$e->getMessage(), "\n";
exit;
}

/* The ping command returns a single result document, so we need to access the
* first result in the cursor. */
$response = $cursor->toArray()[0];

var_dump($response);

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

array(1) {
  ["ok"]=>
  float(1)
}

Пример #2 , што е непроменлива вредносна објект што претставува команда на базата на податоци. Командата потоа може да се изврши со со команда што враќа еден документ со резултат

<?php

$manager
= new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1, 'y' => 'foo']);
$bulk->insert(['x' => 2, 'y' => 'bar']);
$bulk->insert(['x' => 3, 'y' => 'bar']);
$manager->executeBulkWrite('db.collection', $bulk);

$command = new MongoDB\Driver\Command([
'aggregate' => 'collection',
'pipeline' => [
[
'$group' => ['_id' => '$y', 'sum' => ['$sum' => '$x']]],
],
'cursor' => new stdClass,
]);
$cursor = $manager->executeCommand('db', $command);

/* The aggregate command can optionally return its results in a cursor instead
* of a single result document. In this case, we can iterate on the cursor
* directly to access those results. */
foreach ($cursor as $document) {
var_dump($document);
}

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(stdClass)#6 (2) {
  ["_id"]=>
  string(3) "bar"
  ["sum"]=>
  int(10)
}
object(stdClass)#7 (2) {
  ["_id"]=>
  string(3) "foo"
  ["sum"]=>
  int(2)
}

со команда што враќа курсор

Пример #3 Ограничување на времето за извршување на команда "maxTimeMS" во MongoDB\Driver\Command Времето за извршување на команда може да се ограничи со специфицирање вредност за » Прекини ги тековните операции во прирачникот на MongoDB за повеќе информации.

<?php

$manager
= new MongoDB\Driver\Manager('mongodb://localhost:27017');

$command = new MongoDB\Driver\Command([
'count' => 'collection',
'query' => ['x' => ['$gt' => 1]],
'maxTimeMS' => 1000,
]);

$cursor = $manager->executeCommand('db', $command);

var_dump($cursor->toArray()[0]);

?>

документ. Имајте предвид дека ова временско ограничување се применува на страната на серверот и не го зема предвид мрежното задоцнување. Видете MongoDB\Driver\Exception\ExecutionTimeoutException ќе биде фрлена.

Белешки

Забелешка: Ако командата не успее да заврши по една секунда време на извршување на серверот, а readPreference Ако се користи секундарен command одговорност на повикувачот е да се осигура дека

Забелешка: може да се изврши на секундарен. Возачот не врши валидација. Овој метод не користи стандардно претпочитање за читање одURI за поврзување со MongoDB PECL mongodb 1.4.4.

Види Исто така

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.