Mongodb 是否可以使用mongoose用数学表达式更新文档?

Mongodb 是否可以使用mongoose用数学表达式更新文档?,mongodb,mongoose,Mongodb,Mongoose,这主要是为了解决竞争问题(例如,多个线程试图更改单个文档) 通常,如果我想更新文档的属性,我需要使用fine,首先读取文档的当前输出,做一些数学运算,然后update文档 当我有多个线程试图更改一个文档时,这有点麻烦,我必须放置一个服务来对这些变化进行排队,这本身可能是低效的 是否可以使用以下数学表达式更新文档: db.album.updateOne({albumid},{view:$view+1},{upsert:true})据我所知,您正在尝试这样做。您正在寻找的操作员是: $inc运算符接

这主要是为了解决竞争问题(例如,多个线程试图更改单个文档)

通常,如果我想更新文档的属性,我需要使用
fine
,首先读取文档的当前输出,做一些数学运算,然后
update
文档

当我有多个线程试图更改一个文档时,这有点麻烦,我必须放置一个服务来对这些变化进行排队,这本身可能是低效的

是否可以使用以下数学表达式更新文档:


db.album.updateOne({albumid},{view:$view+1},{upsert:true})

据我所知,您正在尝试这样做。您正在寻找的操作员是:

$inc运算符接受正值和负值。 如果该字段不存在,$inc将创建该字段并设置该字段 设置为指定的值。 在具有空值的字段上使用$inc运算符将生成 错误。 $inc是单个文档中的原子操作


据我所知,您正在尝试这样做,您正在寻找的运营商是:

$inc运算符接受正值和负值。 如果该字段不存在,$inc将创建该字段并设置该字段 设置为指定的值。 在具有空值的字段上使用$inc运算符将生成 错误。 $inc是单个文档中的原子操作


Thx,
$inc创建字段并将字段设置为指定值
这意味着什么?它是创建0还是我应该设置默认值,如果是,如何设置?您应该为数字字段设置默认值。Thx,
$inc创建字段并将字段设置为指定值这是什么意思?它是创建0还是我应该设置默认值,如果是,如何设置?您应该为数字字段设置默认值。
db.products.update(
   { sku: "abc123" },
   { $inc: { quantity: -2 } }  // substract 2 from quantity
)