mongodb 并发问题

伪代码:

getData: function(req, res) {

  DataCollection.findOne({id: 'abc'}).exec((err, doc)=>{

    console.log(doc.num) // 假设为1

    doSomethingWith(doc.num) // doc.num现在假设为34

    doc.save()

    console.log(docs.num) // 正常应该为34,45,56..,但是高并发情况为:34, 34, 34...

    return res.ok()

  })

}

请问应该怎么办?


qq_遁去的一_1
浏览 987回答 2
2回答

烙印99

用 $inc 去加减. 不要在 function 里面操作.官方文档

函数式编程

在NPM搜索了解redlock这个包
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB