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 ( ) : 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.
例
例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