Javascript Web表单:编辑用户时的数据一致性;要点;领域

Javascript Web表单:编辑用户时的数据一致性;要点;领域,javascript,node.js,reactjs,mongodb,express,Javascript,Node.js,Reactjs,Mongodb,Express,我正在建立一个预订系统。我有一个表格,管理员可以给用户打分。用户在预订插槽时使用这些点问题:当管理员打开用户编辑表单时,“点”字段的初始值为N,例如1,表示该用户有一个点。如果在管理员提交表单之前,用户使用了该点(通过预订),管理员查看的表单仍将显示1点,这是错误的,并且通过提交表单,该点将神奇地返回给用户。解决办法是什么?当用户处于“编辑”模式时,是否锁定用户不执行任何操作 我使用的是MERN堆栈。通常的系统是在加载页面时获取用户的当前点值。将该值与可编辑字段分开存储。然后,当处理表单的代码去

我正在建立一个预订系统。我有一个表格,管理员可以给用户打分。用户在预订插槽时使用这些点问题:当管理员打开用户编辑表单时,“点”字段的初始值为N,例如1,表示该用户有一个点。如果在管理员提交表单之前,用户使用了该点(通过预订),管理员查看的表单仍将显示1点,这是错误的,并且通过提交表单,该点将神奇地返回给用户。解决办法是什么?当用户处于“编辑”模式时,是否锁定用户不执行任何操作


我使用的是MERN堆栈。

通常的系统是在加载页面时获取用户的当前点值。将该值与可编辑字段分开存储。然后,当处理表单的代码去更新字段时,它首先检查字段的当前值是否与表单首次显示时的值相同。如果是这样,则不会进行幕后更改,并且可以毫无问题地应用编辑

但是,如果当前点值与以前不同,则会发生一些幕后更改,通常会中止编辑,因为它基于过期信息。然后管理员必须再次应用所需的更改-重复该过程


同样重要的是,在进行这些检查时,不要引入自己的比赛条件。具体如何实现这一点是特定于数据库的。

如果点发生变化,管理员会收到什么有意义的错误消息?我正在使用mongodb,所以我不确定如何处理竞争条件。