我正在创建一个系统,如果x为真,它将递增value1,但如果y为真,它将递增value2。使用我现在的系统,它还将把没有更新的值重置回0,我不知道该怎么做才能停止此操作。我只需要另一个值相同即可
这是我的代码。
leaderboard.findOneAndUpdate(
{
userID: interaction.user.id
},
{
userID: interaction.user.id,
$inc: { accepts: 1 },
denies: 0
},
{
upsert: true, new: true
}, (err: any, doc: any) => {
if (err) console.log(err)
console.log(`Updated ${interaction.user.username}'s accepts to ${doc.accepts} `)
})
所以在这个例子中,我需要接受加1,但拒绝保持与MongoDB中已有的相同。
1条答案
按热度按时间6xfqseft1#
尝试将更新查询更改为
{ $inc: { accepts: 1 } }
不确定
upsert
在这种情况下是否有意义。因为它会创建一个只有accepts
字段的新文档。{ upsert: true, new: true }
如果需要
upsert
,则根据要设置的值构建更新查询。