MongoDB - 如何原子地增加数字并获取新值

问题描述 投票:0回答:1

基本上我需要在文档中增加一个计数器并获取新值,但这必须以原子方式工作。

当前我正在使用命令:

.updateOne({_id: ObjectId('5ed7f23789bcd51e9c6a82e0')}, {$inc: {nextTicket: 1}})

但是我找不到如何立即获取新的增量值。

javascript mongodb mongoose concurrency transactions
1个回答
5
投票

updateOne
不返回文档/文档字段。

您想要做的是使用findOneAndUpdate。现在这仍然返回“旧”文档,因此您要指定

returnOriginal: false

.findOneAndUpdate({_id: ObjectId('5ed7f23789bcd51e9c6a82e0')}, {$inc: {nextTicket: 1}}, {returnOriginal: false})
© www.soinside.com 2019 - 2024. All rights reserved.