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::executeCommandExecute a database command

= NULL

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

Избира сервер според "readPreference" option and executes the command on that server.

Овој метод не применува никаква посебна логика на командата. Стандардните вредности за "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.
PECL mongodb 1.21.0 Проследување на MongoDB\Driver\ReadPreference објект како options е застарен и ќе биде отстранет во 2.0.
на други грешки (на пр. неважечка команда). MongoDB\Driver\Exception\InvalidArgumentException Како на PHP 7.1.0, "session" опцијата се користи во комбинација со непризнаен запис на загриженост.
на грешки при парсирање на аргументи. Третиот параметар сега е options низа. За компатибилност со претходните верзии, овој параметар сè уште ќе прифаќа MongoDB\Driver\ReadPreference object.

Примери

Пример #1 , што е непроменлива вредносна објект што претставува команда на базата на податоци. Командата потоа може да се изврши со with a command returning a single result document

<?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 , што е непроменлива вредносна објект што претставува команда на базата на податоци. Командата потоа може да се изврши со with a command returning a cursor

<?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)
}

Example #3 Limiting execution time for a command

The execution time of a command may be limited by specifying a value for "maxTimeMS" во MongoDB\Driver\Command document. Note that this time limit is enforced on the server side and does not take network latency into account. See » Прекини ги тековните операции во прирачникот на 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]);

?>

If the command fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException ќе биде фрлена.

Белешки

Забелешка: If a secondary readPreference is used, it is the caller's responsibility to ensure that the command can be executed on a secondary. No validation is done by the driver.

Забелешка: This method does not default to using the read preference from the MongoDB Connection URI. Applications in need of that behavior should consider using PECL mongodb 1.4.4.

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

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

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

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

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

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

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

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