(mongodb >=2.1.0)
MongoDB\Driver\BulkWriteCommandResult::getMatchedCount — Возвращает количество документов, которые сервер выбрал для обновления
Количество совпадений иногда превышает значение, которое возвращает метод MongoDB\Driver\BulkWriteCommandResult::getModifiedCount(), если операция обновления не изменяет документ, например, устанавливает значение поля равным текущему значению.
Сигнатура функции не содержит параметров.
Метод возвращает общее количество документов, которые СУБД выбрала для обновления после обработки всех операций обновления.
Пример #1 Пример получения количества обновляемых документов методом MongoDB\Driver\BulkWriteCommandResult::getMatchedCount()
<?php
$manager = new MongoDB\Driver\Manager();
$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->insertOne('db.coll', ['x' => 1]);
$bulk->updateOne('db.coll', ['x' => 1], ['$set' => ['y' => 3]]);
$bulk->updateOne('db.coll', ['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->updateOne('db.coll', ['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->deleteMany('db.coll', []);
$result = $manager->executeBulkWriteCommand($bulk);
var_dump($result->getMatchedCount());
?>
Результат выполнения приведённого примера:
int(1)