array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'mongodb-driver-writeresult.getupsertedids.php', 1 => 'MongoDB\\Driver\\WriteResult::getUpsertedIds', ), 'up' => array ( 0 => 'class.mongodb-driver-writeresult.php', 1 => 'MongoDB\\Driver\\WriteResult', ), 'prev' => array ( 0 => 'mongodb-driver-writeresult.getupsertedcount.php', 1 => 'MongoDB\\Driver\\WriteResult::getUpsertedCount', ), 'next' => array ( 0 => 'mongodb-driver-writeresult.getwriteconcernerror.php', 1 => 'MongoDB\\Driver\\WriteResult::getWriteConcernError', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/mongodb/mongodb/driver/writeresult/getupsertedids.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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" } }