php8.5
Home/ Manual/ driver / bulkwritecommand/ MongoDB\Driver\BulkWriteCommand::__construct

MongoDB\Driver\BulkWriteCommand::__construct

PHP function Edit on GitHub ✎

(mongodb >=2.1.0)

Create a new BulkWriteCommand

Description

MongoDB\Driver\BulkWriteCommand::__construct(array|null $options = null)

Constructs a new MongoDB\Driver\BulkWriteCommand, which may be used to perform many insert, update, and delete operations on multiple collections in a single request using the bulkWrite command introduced in MongoDB 8.0. This differs from MongoDB\Driver\BulkWrite, which is supported by all server versions but limited to a single collection.

After all write operations have been added, this object may be executed with MongoDB\Driver\Manager::executeBulkWriteCommand.

Parameters

options (array)
OptionTypeDescriptionDefault
bypassDocumentValidationboolIf true, allows insert and update operations to circumvent document level validation.false
commentmixedAn arbitrary comment to help trace the operation through the database profiler, currentOp output, and logs.
orderedboolWhether the operations in this bulk write should be executed in the order in which they were specified. If false, writes will continue to be executed if an individual write fails. If true, writes will stop executing if an individual write fails.true
verboseResultsboolWhether detailed results for each successful operation should be included in the returned MongoDB\Driver\BulkWriteCommandResult.false

Errors/Exceptions

Examples

MongoDB\Driver\BulkWriteCommand::__construct() example

php
<?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());

?>

The above example will output:

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

See Also

  • MongoDB\Driver\Manager::executeBulkWriteCommand
  • MongoDB\Driver\BulkWriteCommandResult

Source: reference/mongodb/mongodb/driver/bulkwritecommand/construct.xml · from the official PHP manual (php/doc-en)