(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getModifiedCount — 返回已更新的現有文件數量
如果更新操作未導致文件發生任何更改(例如,將欄位的值設定為其目前值),則修改計數可能小於 MongoDB\Driver\WriteResult::getMatchedCount() 返回的值。
此函數沒有參數。
回傳已更新的現有文件數量,如果寫入操作未被確認,則回傳 null
。
在 2.6 版之前的 MongoDB 上,由於使用舊版 Wire Protocol 版本 (例如 OP_UPDATE),因此無法取得修改的數量。在這種情況下,修改的數量也將是 null
。
範例 #1 MongoDB\Driver\WriteResult::getModifiedCount() 範例
<?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->getModifiedCount());
?>
以上範例將輸出
int(1)