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?
(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::insert — Добавить операцию вставки в порцию
Добавляем операцию вставки в MongoDB\Driver\BulkWrite.
Возвращает _id
добавленного документа. Если в
document
не был задан _id
, будет возвращён
MongoDB\BSON\ObjectId, сгенерированный для вставки.
Версия | Описание |
---|---|
PECL mongodb 1.3.0 |
Всегда возвращается _id для добавленного документа.
Ранее метод возвращал значение только в случае если
MongoDB\BSON\ObjectId был создан.
|
Пример #1 Пример использования MongoDB\Driver\BulkWrite::insert()
<?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);
?>
Вывод приведённого примера будет похож на:
object(MongoDB\BSON\ObjectId)#3 (1) { ["oid"]=> string(24) "54d51146bd21b91405401d92" } NULL NULL
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?