gpt4 book ai didi

node.js - 使用 Mongoose 并发访问文档

转载 作者:可可西里 更新时间:2023-11-01 09:27:32 43 4
gpt4 key购买 nike

我正在编写一个 Web 应用程序,其中更多用户可以在 mongodb 中的同一文档中执行同时操作。我使用 mean.io 堆栈,但我对它很陌生。我想知道 mongoose 如何管理并发。每个“用户点击”操作首先执行一次读取以获取文档,然后在进行一些计算后进行保存。当然,读取-计算-保存序列不是原子的。 Mongoose 是否与“最后更改获胜”政策一起工作,还是会引发版本控制错误?在这种情况下使用队列有意义吗?

谢谢,最好的问候。

最佳答案

是的,最后的更改将获胜。

队列可能是解决问题的好选择,但我会建议其他 2 种方法:

  1. 您可以使用更高级的 mongodb 命令,例如 $inc ( http://docs.mongodb.org/manual/reference/operator/update/inc/ ) 进行原子计算(如果您的计算太复杂,则可能无法实现)
  2. 如果您不一定需要随时获得正确的计数,您可以使用“大数据”方法并只存储原始点击信息。每当您需要数据时(或者说每小时或每天),您都可以使用 mongodb 聚合框架或其 mapreduce 功能来计算正确的计数。

关于node.js - 使用 Mongoose 并发访问文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228826/

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