(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getUpsertedCount β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ upsert
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ upsert.
| ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| PECL-ΠΌΠΎΠ΄ΡΠ»Ρ mongodb 2.0.0 |
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π±Π΅Π· ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ null ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
|
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ upsert, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ MongoDB\Driver\WriteResult::getUpsertedCount()
<?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->getUpsertedCount());
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
int(2)