public function decrement($key, $val = 1, $field = null, $tablePrefix = null)
{
list($tableName, $condition) = $this->parseKey($key, true);
if (is_null($field) || empty($tableName) || empty($condition)) {
return false;
}
$val = abs(intval($val));
is_null($tablePrefix) && ($tablePrefix = $this->tablePrefix);
$tableName = $tablePrefix . $tableName;
$bulk = new BulkWrite();
$bulk->update($condition, ['$inc' => [$field => -$val]], ['multi' => true]);
$result = $this->runMongoBulkWrite($tableName, $bulk);
Cml::$debug && $this->debugLogSql('BulkWrite DEC', $tableName, $condition, ['$inc' => [$field => -$val]]);
return $result->getModifiedCount();
}