📜  mongoBD $inc 运算符 (1)

📅  最后修改于: 2023-12-03 15:17:41.404000             🧑  作者: Mango

MongoDB $inc 运算符介绍

MongoDB是一种流行的NoSQL数据库,提供了丰富的操作符用于操作和修改数据库文档。其中之一是$inc运算符,用于原子地增加文档中某个字段的值。

语法
{
  $inc: {
    <field1>: <amount1>,
    <field2>: <amount2>,
    ...
  }
}
  • <field>:要增加值的字段名。
  • <amount>:要增加的数量。可以是正数、负数或零。
示例

假设我们有以下文档表示用户的积分:

{
  "_id": "user1",
  "username": "John",
  "points": 100
}

如果想要增加用户的积分,可以使用$inc运算符:

db.users.updateOne(
  { "_id": "user1" },
  { $inc: { "points": 50 } }
)

这将把用户"user1"的积分增加50,文档将变为:

{
  "_id": "user1",
  "username": "John",
  "points": 150
}

同样,可以使用负数来减少字段的值:

db.users.updateOne(
  { "_id": "user1" },
  { $inc: { "points": -30 } }
)

这将减少用户"user1"的积分30,文档将变为:

{
  "_id": "user1",
  "username": "John",
  "points": 120
}
注意事项
  • 使用$inc运算符可以确保原子操作,即在多线程或并发操作中也能正确增加字段的值。
  • 如果使用$inc运算符更新一个不存在的字段,MongoDB将创建该字段并设置初始值为增加的数量。
  • $inc运算符只能用于数字类型的字段。

以上就是MongoDB $inc运算符的介绍,在更新文档时可以利用它来实现原子增加或减少字段的值。