MongoDB\Driver\WriteResult::getUpsertedIds
(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
说明
final public MongoDB\Driver\WriteResult::getUpsertedIds
( void
) : array
参数
此函数没有参数。
返回值
Returns an array of identifiers (i.e. "_id" field values) for upserted documents. The array keys will correspond to the index of the write operation (from MongoDB\Driver\BulkWrite) responsible for the upsert.
错误/异常
- Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
范例
Example #1 MongoDB\Driver\WriteResult::getUpsertedIds() example
<?php
$manager = new MongoDB\Driver\Manager;
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);
$result = $manager->executeBulkWrite('db.collection', $bulk);
var_dump($result->getUpsertedIds());
?>
以上例程的输出类似于:
array(2) { [2]=> object(MongoDB\BSON\ObjectId)#4 (1) { ["oid"]=> string(24) "580e62a224f2302f191b880b" } [3]=> object(MongoDB\BSON\ObjectId)#5 (1) { ["oid"]=> string(24) "580e62a224f2302f191b880c" } }
参见
- MongoDB\Driver\WriteResult::getUpsertedCount() - Returns the number of documents inserted by an upsert
- MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged