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 — Креирај нов BulkWrite
= NULL
(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2) MongoDB\Driver\BulkWrite, што е променлив објект на кој може да се додадат една или повеќе операции за запишување. Запишувањето(а) потоа може да се изврши со собира една или повеќе операции за запишување што треба да се испратат до серверот. Откако ќе додадете кој било број на операции за вметнување, ажурирање и бришење, колекцијата може да се изврши преку.
Параметри
options(array)-
options Опција Тип = NULL Стандардно bypassDocumentValidation bool Враќа true, дозволува операциите за вметнување и ажурирање да го заобиколат валидирањето на ниво документ. Оваа опција е достапна во MongoDB 3.2+ и се игнорира за постари верзии на серверот, кои не поддржуваат валидација на ниво на документ.falsecomment mixed Во верзиите на MongoDB пред 3.2, каде што query користат legacy wire protocol OP_QUERY, големина на пратка од 1 ќе го затвори курсорот без оглед на бројот на совпаднати документи. Спецификација на индекс. Наведете го името на индексот како низа или моделот на клучот на индексот. Ако е специфицирано, тогаш системот за прашања ќе разгледува само планови што го користат наведениот индекс. let array|object Мапа на имиња и вредности на параметри. Вредностите мора да бидат константи или затворени изрази кои не упатуваат на полиња на документот. Параметрите потоа може да се пристапат како променливи во контекст на агрегатни изрази (на пр. $$var). Мапа на имиња и вредности на параметри. Вредностите мора да бидат константи или затворени изрази што не реферираат на полиња во документот. Параметрите потоа можат да бидат пристапени како променливи во контекст на агрегиран израз (на пр.ordered bool Нарачани операции ( true) се извршуваат сериски на MongoDB серверот, додека нарачани операции (false) се испраќаат до серверот по случаен редослед и може да се извршуваат паралелно.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)