MongoDB\Driver\BulkWrite::insert

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::insertAdd an insert operation to the bulk

Description

public MongoDB\Driver\BulkWrite::insert(array|object $document): mixed

Adds an insert operation to the MongoDB\Driver\BulkWrite.

Liste de paramètres

document (array|object)

A document to insert.

Valeurs de retour

Returns the _id of the inserted document. If the document did not have an _id, the MongoDB\BSON\ObjectId generated for the insert will be returned.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.

Historique

Version Description
PECL mongodb 1.3.0 The _id of the inserted document is always returned. Previously, the method only returned a value if a MongoDB\BSON\ObjectId was generated.

Exemples

Exemple #1 MongoDB\Driver\BulkWrite::insert() example

<?php

$bulk
= new MongoDB\Driver\BulkWrite;

$document1 = ['title' => 'one'];
$document2 = ['_id' => 'custom ID', 'title' => 'two'];
$document3 = ['_id' => new MongoDB\BSON\ObjectId, 'title' => 'three'];

$_id1 = $bulk->insert($document1);
$_id2 = $bulk->insert($document2);
$_id3 = $bulk->insert($document3);

var_dump($_id1, $_id2, $_id3);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Résultat de l'exemple ci-dessus est similaire à :

object(MongoDB\BSON\ObjectId)#3 (1) {
  ["oid"]=>
  string(24) "54d51146bd21b91405401d92"
}
NULL
NULL
add a note add a note

User Contributed Notes 1 note

up
0
yedemon at 163 dot com
5 years ago
Here is a question about bulk insert.
Right after $bulk->insert, i see an MongoDB\BSON\ObjectId retrieved instantly. So how to ensure the ObjectId’s uniqueness? Is bulk_write asking for and ObjectId every time?
To Top