私信  •  关注

Grégory NEUT

Grégory NEUT 最近创建的主题
Grégory NEUT 最近回复了
4 年前
回复了 Grégory NEUT 创建的主题 » GraphQL和MongoDB-“Cast to Array failed”和Array[duplicate]

我使用Mongoose5.7.0+使用双嵌套模式时遇到了类似的问题。

type 但是猫鼬的确认错误。

https://github.com/Automattic/mongoose/issues/8472

Schema.Types.Mixed 对于子模式

5 年前
回复了 Grégory NEUT 创建的主题 » MongoDB事务有很多writeConflict错误

从数据库中读取数据,然后对其进行更新。它看起来像:

DATA (state 0) <---
UPDATED DATA (state 1) --->

执行两个异步调用时:

DATA (state 0) <---
DATA (state 0) <---
UPDATED DATA (state 1) --->
UPDATED DATA (state 1') ---> ERROR

它返回一个错误,因为数据的状态已更改。这就是交易的工作原理。



为了避免访问冲突,可以实现自定义队列系统。或者捕获错误并以最大尝试次数的setTimeout重新运行事务。

排队系统 :

DATA (state 0) <---
UPDATED DATA (state 1) --->
DATA (state 1) <---
UPDATED DATA (state 2) --->

重新运行系统

DATA (state 0) <---
DATA (state 0) <---
UPDATED DATA (state 1) --->
UPDATED DATA (state 1') ---> ERROR
DATA (state 1) <---
UPDATED DATA (state 2) --->