gpt4 book ai didi

node.js - 减少mongodb中的值

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:25 26 4
gpt4 key购买 nike

我正在创建一个购物应用程序。每个用户都有钱包。结构如下:

{ 
"userName" : "Gandalf the Grey",
"wallet" : 100,
"orderHistory" : []
}

假设该用户购买了值(value) 50 件的商品。有没有更好的方法而不是用 findOne 获取其钱包值,然后进行减法并更新新的钱包值?现在,我正在使用两种不同的操作来实现它,看起来像

dbo.collection('users').findOne({'userName': controller.userName})
.then(function(doc) {
updateWallet(doc);
}

然后

let newWalletBalance = doc.wallet - product.cost;
dbo.collection('users').updateOne(
{'userName':controller.userName},
{ $set: {wallet: newWalletBalance } }
);

是否可以将它们合并为一个?

最佳答案

您可以使用$inc运算符

db.collection('users').updateOne(
{ 'userName': controller.userName },
{ '$inc': { 'wallet': -product.cost } }
)

关于node.js - 减少mongodb中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55679123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com