(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)