MEAN JS DB竞赛条件

我已经根据下面的反馈更新了这个问题

如果两个用户都做了一个HTTP请求,那么是否有可能在MEAN堆栈应用程序中产生争用条件:读取logging,根据业务逻辑对logging进行一些更改,然后写回数据库? 还是不可能由于单线程的JS执行环境? 根据下面的一些评论,这听起来像是一个问题。 有没有办法实现交易? 或者,也许我需要创build一个工作队列或使用基于actor的方法。 我试图了解这种types的问题是如何通过MEAN堆栈解决的。

好的,我会回答你的问题中较狭窄的部分。 Node.js的JavaScript引擎确实有一个单一的线程,但它使用多个线程来处理asynchronous操作,如…数据库(和其他)的I / O。 它可以很好地要求其两个线程连接到数据库来同时编辑同一个文档。

看这里: node.js在内部使用线程/线程池吗?

所以不行,Node不会在asynchronous操作中将你从竞争状态中拯救出来。 MongoDB在某种程度上(你真的应该阅读文档,因为这是一个复杂的话题)。

Interesting Posts