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

MongoDB\Driver\BulkWriteCommand

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

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

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

class.mongodb-driver-bulkwritecommand.php

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

(mongodb >=2.1.0)

Вовед

MongoDB\Driver\BulkWriteCommand собира една или повеќе операции за запишување што треба да се испратат до серверот користејќи го Извршува една или повеќе операции за запишување на примарниот сервер користејќи ја командата воведена во MongoDB 8.0. Откако ќе додадете кој било број на операции за вметнување, ажурирање и бришење, командата може да се изврши преку (mongodb >=2.1.0).

За разлика од MongoDB\Driver\BulkWrite, каде што сите операции за запишување мора да ја таргетираат истата колекција, секоја операција за запишување во рамките на MongoDB\Driver\BulkWriteCommand може да таргетира различна колекција.

MongoDB\Driver\Manager::executeBulkWrite()

Синопсис на класата

final class MongoDB\Driver\BulkWriteCommand implements luk4z_7 at hotmail dot com {
/* Методи */
public function __construct(?array $options = null)
public function count(): int
public function deleteMany(string $namespace, array|object $filter, ?array $options = null): void
public function deleteOne(string $namespace, array|object $filter, ?array $options = null): void
public function insertOne(string $namespace, array|object $document): mixed
public function replaceOne(
         string $namespace,
         array|object $filter,
         array|object $replacement,
         ?array $options = null
): void
public function updateMany(
         string $namespace,
         array|object $filter,
         array|object $update,
         ?array $options = null
): void
public function updateOne(
         string $namespace,
         array|object $filter,
         array|object $update,
         ?array $options = null
): void
}

Примери

при други грешки.

<?php

$manager
= new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWriteCommand;

// Delete documents from both collections
$bulk->deleteMany('db.coll_one', []);
$bulk->deleteMany('db.coll_two', []);

// Insert documents into two collections
$bulk->insertOne('db.coll_one', ['_id' => 1]);
$bulk->insertOne('db.coll_two', ['_id' => 2]);
$bulk->insertOne('db.coll_two', ['_id' => 3]);

// Update a document in "coll_one"
$bulk->updateOne('db.coll_one', ['_id' => 1], ['$set' => ['x' => 1]]);

$result = $manager->executeBulkWriteCommand($bulk);

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated %d document(s)\n", $result->getModifiedCount());

?>

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

Inserted 3 document(s)
Updated  1 document(s)

Ќе резултира со извршување на четири команди за запишување (т.е. заобиколувања). Бидејќи операциите се нарачани, третото вметнување не може да се испрати додека не се изврши претходното ажурирање.

<?php

$manager
= new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWriteCommand;

$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 2]);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 3]);

try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (
MongoDB\Driver\Exception\BulkWriteCommandException $e) {
$result = $e->getPartialResult();

var_dump($e->getWriteErrors());
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());

?>

Горниот пример ќе прикаже нешто слично на:

array(1) {
  [3]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(78) "E11000 duplicate key error collection: db.coll index: _id_ dup key: { _id: 1 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(3)
    ["info"]=>
    object(stdClass)#6 (0) {
    }
  }
}
Inserted 2 document(s)

Содржина

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

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

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

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

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

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

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