mongoose自定义validationfunction与竞争条件

我们有一个日历API,用于在一天内预订一个插槽

SlotShcema

startDateTime:Date // showing the day and the starting hour duration:number // showing the slot duration 

我们可以计算出槽的结束

endDateTime = startDateTime + duration

我们要添加一个validation,所以没有两个槽相交,只有一个用户可以预订它。

我发现服装asynchronous自定义validation器 ,但我们无法find我们的场景任何文档。

问题是想方设法解决两个并发保存可能节省冲突预订“交易”的竞争条件。 在开始创build插槽之前,我做了自己的validationfunction,但是如果有竞争条件,它可能同时保存两个插槽,这是错误的。 有什么方法可以解决比赛条件?

问题在GitHub https://github.com/Automattic/mongoose/issues/5876

Interesting Posts