是否应使用Mongo功能或锁定模块处理Mongo并发问题?

时间:2016-09-02 19:47:35

标签: node.js mongodb concurrency mongoose

在我们的平均堆栈应用程序中,我们已经开始遇到Mongo DB中的并发问题。像影响数组索引的操作以及子文档的并发更新之类的东西。我们正在尝试决定是否更好地使用锁定节点模块(如rwlock)来处理这些问题,或者利用mongo和mongoose提供的功能。我应该注意到目前为止的问题与性能无关,但在数据库中是不需要的行为。

示例:我们有一个包含ID和字段名称的路由,而body是一个json对象,它将是指定字段的值。对象存储在一个数组中,如果没有带ID的对象,则会创建一个。

/:id /:field

如果我们在该对象尚不存在的情况下有两个相同对象ID的帖子,则两个帖子都将创建该对象,并且该数组最终将包含两个对象,每个对象都有一个字段集,应该在哪里包含一个设置了两个字段的对象。

我犹豫使用数据库功能(例如__v字段)的原因之一是它要求我们使用绕过mongoose中间件的方法,而中间件是我们首先选择mongoose的原因之一

我想知道使用其中一种方法是否有任何隐藏/明显的利弊?

0 个答案:

没有答案