Docs 菜单

Docs 主页开发应用程序MongoDB Manual

$inc

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 行为
  • 例子
$inc

$inc操作符将字段按指定值递增。

可以使用 $inc 查找托管在以下环境中的部署:

  • MongoDB Atlas :用于在云中部署 MongoDB 的完全托管服务

$inc操作符具有以下形式:

{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }

要在嵌入式文档或数组中指定 <field>,请使用点符号。

从 MongoDB 5.0 开始,更新操作符按字典顺序处理具有基于字符串的名称的文档字段。具有数字名称的字段按数字顺序处理。详情请参阅更新操作符行为

$inc操作符接受正值和负值。

如果该字段不存在, $inc将创建该字段并将其设置为指定值。

在具有 null 值的字段上使用$inc操作符会产生错误。

$inc 是单个文档中的原子操作。

从 MongoDB5 0mongod$inc{ }开始。当您将 等更新操作符与空操作数表达式 ( ) 一起使用时, 、 不再引发错误。空更新不会导致任何更改,也不会创建 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 }
}

提示

另请参阅:

← $currentDate
$min →