PHP - Manual: MongoDB\Driver\WriteResult::getUpsertedIds
2024-12-21
(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
此函数没有参数。
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.
示例 #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" } }
官方地址:https://www.php.net/manual/en/mongodb-driver-writeresult.getupsertedids.php