MongoDB\Driver\BulkWrite::__construct
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
MongoDB\Driver\BulkWrite::__construct
Референца за `mongodb-driver-bulkwrite.construct.php` со подобрена типографија и навигација.
MongoDB\Driver\BulkWrite::__construct
класата MongoDB\Driver\BulkWrite
MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
= NULL
(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2) MongoDB\Driver\BulkWrite, which is a mutable object to which one or more write operations may be added. The write(s) may then be executed with собира една или повеќе операции за запишување што треба да се испратат до серверот. Откако ќе додадете кој било број на операции за вметнување, ажурирање и бришење, колекцијата може да се изврши преку.
Параметри
options(array)-
options Опција Тип = NULL Стандардно bypassDocumentValidation bool Враќа
true, дозволува операциите за вметнување и ажурирање да го заобиколат валидирањето на ниво документ.This option is available in MongoDB 3.2+ and is ignored for older server versions, which do not support document level validation.
falsecomment mixed Во верзиите на MongoDB пред 3.2, каде што query користат legacy wire protocol OP_QUERY, големина на пратка од 1 ќе го затвори курсорот без оглед на бројот на совпаднати документи.
Спецификација на индекс. Наведете го името на индексот како низа или моделот на клучот на индексот. Ако е специфицирано, тогаш системот за прашања ќе разгледува само планови што го користат наведениот индекс.
let array|object Мапа на имиња и вредности на параметри. Вредностите мора да бидат константи или затворени изрази кои не упатуваат на полиња на документот. Параметрите потоа може да се пристапат како променливи во контекст на агрегатни изрази (на пр.
$$var).Мапа на имиња и вредности на параметри. Вредностите мора да бидат константи или затворени изрази што не реферираат на полиња во документот. Параметрите потоа можат да бидат пристапени како променливи во контекст на агрегиран израз (на пр.
ordered bool Ordered operations ( true) are executed serially on the MongoDB server, while unordered operations (false) are sent to the server in an arbitrary order and may be executed in parallel.true
Errors/Exceptions
- ). Ако повикот не успее, ќе врати MongoDB\Driver\Exception\InvalidArgumentException » Промени текови
Дневник на промени
| Верзија | = NULL |
|---|---|
| опсег сега е опционална. |
Додаден е "comment" and "let"
options.
|
| во претходните верзии. Дополнително, екстензијата повеќе не поддржува сите |
Додаден е "bypassDocumentValidation" option.
|
Примери
Пример #1 MongoDB\Driver\BulkWrite::__construct() example
<?php
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(
['x' => 2],
['$set' => ['x' => 1]],
['limit' => 1, 'upsert' => false]
);
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->update(
['_id' => 3],
['$set' => ['x' => 3]],
['limit' => 1, 'upsert' => true]
);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(1);
try {
$result = $manager->executeBulkWrite('db.collection', $bulk, ['writeConcern' => $writeConcern]);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
$result = $e->getWriteResult();
// Check if the write concern could not be fulfilled
if ($writeConcernError = $result->getWriteConcernError()) {
printf("%s (%d): %s\n",
$writeConcernError->getMessage(),
$writeConcernError->getCode(),
var_export($writeConcernError->getInfo(), true)
);
}
// Check if any write operations did not complete at all
foreach ($result->getWriteErrors() as $writeError) {
printf("Operation#%d: %s (%d)\n",
$writeError->getIndex(),
$writeError->getMessage(),
$writeError->getCode()
);
}
} catch (MongoDB\Driver\Exception\Exception $e) {
printf("Other error: %s\n", $e->getMessage());
exit;
}
printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted %d document(s)\n", $result->getDeletedCount());
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Inserted 2 document(s) Updated 1 document(s) Upserted 1 document(s) Deleted 1 document(s)