In case you are trying to add an index to a collection, and the index is already there, the value of getInsertedCount() depends on the MongoDB server version.
For example, MongoDB version 2.4 consider the index as inserted, but version 3.6 does not.
PHP - Manual: MongoDB\Driver\WriteResult::getInsertedCount
2024-12-22
(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
此函数没有参数。
Returns the number of documents inserted (excluding upserts), or null
if
the write was not acknowledged.
示例 #1 MongoDB\Driver\WriteResult::getInsertedCount() 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->getInsertedCount());
?>
以上例程会输出:
int(1)
官方地址:https://www.php.net/manual/en/mongodb-driver-writeresult.getinsertedcount.php