一、使用$inc操作符将一个字段的值增加或者减少的格式是:
{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }
二、$inc操作符接收正的和负的值
如果指定的字段不存在则$inc操作符创建这个字段并且设置这个字段的值为指定的在值;
使用$inc操作符的字段的值如果值为null则将会报异常;
$inc操作符是原子性的在单个文档中;
三、例子
考虑如下的products文档集合
{
_id: 1,
sku: "abc123",
quantity: 10,
metrics: {
orders: 2,
ratings: 3.5
}
}
db.products.update(
{ sku: "abc123" },
{ $inc: { quantity: -2, "metrics.orders": 1 } }
)
{
"_id" : 1,
"sku" : "abc123",
"quantity" : 8,
"metrics" : {
"orders" : 3,
"ratings" : 3.5
}
}