定义
- $inc
- $inc操作符将字段按指定值递增。
兼容性
可以使用 $inc 查找托管在以下环境中的部署:
- MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务 
- MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本 
- MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本 
语法
$inc 操作符采用以下形式:
{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } } 
要在嵌入式文档或数组中指定 <field>,请使用点符号。
行为
从 MongoDB 5.0 开始,更新操作符按字典顺序处理具有基于字符串的名称的文档字段。具有数字名称的字段按数字顺序处理。详情请参阅更新操作符行为。
$inc 操作符接受正值和负值。
如果字段不存在,$inc 将创建该字段,然后将其设置为指定值。
对 null 值的字段使用 $inc 运算符会产生错误。
$inc 是单个文档中的原子操作。
从 MongoDB 5.0 开始,使用带空操作数表达式 ({ }) 的更新操作符(如 $inc)时,mongod 不会再引发错误。空更新不会导致任何变化,也不会创建 oplog 条目(意味着该操作为“无操作”)。
例子
创建 products 集合:
db.products.insertOne(    {      _id: 1,      sku: "abc123",      quantity: 10,      metrics: { orders: 2, ratings: 3.5 }    } ) 
以下 updateOne() 操作使用 $inc 操作符:
- 将 - "metrics.orders"字段增加 1
- 将 - quantity字段减少 2(减少- quantity)。
db.products.updateOne(    { sku: "abc123" },    { $inc: { quantity: -2, "metrics.orders": 1 } } ) 
更新后的文档类似于:
{   _id: 1,   sku: 'abc123',   quantity: 8,   metrics: { orders: 3, ratings: 3.5 } }