Javascript NodeJS:确保多个用户不';t为其项目分配相同的ID号

Javascript NodeJS:确保多个用户不';t为其项目分配相同的ID号,javascript,node.js,express,express-session,Javascript,Node.js,Express,Express Session,我很抱歉,如果标题没有意义,请允许我解释一下 我正在设计一个NodeJS应用程序,它允许用户向服务器提交项目列表。当用户提交列表时,服务器为每个项目分配一个唯一的ID,然后返回新生成的项目列表及其分配的ID。在不太可能的情况下,多个用户同时向服务器提交一个列表,我希望确保不会为用户分配重叠的ID e、 g UserA提交项目[a,b,c],服务器返回它们的列表,格式为:[{item:a,id:1},{item:b,id:2},{item:c,id:3}] UserB提交项目[d,e,f],服务器

我很抱歉,如果标题没有意义,请允许我解释一下

我正在设计一个NodeJS应用程序,它允许用户向服务器提交项目列表。当用户提交列表时,服务器为每个项目分配一个唯一的ID,然后返回新生成的项目列表及其分配的ID。在不太可能的情况下,多个用户同时向服务器提交一个列表,我希望确保不会为用户分配重叠的ID

e、 g

UserA提交项目
[a,b,c]
,服务器返回它们的列表,格式为:
[{item:a,id:1},{item:b,id:2},{item:c,id:3}]

UserB提交项目
[d,e,f]
,服务器返回它们的列表,格式为:
[{item:d,id:1},{item:e,id:2},{item:f,id:3}]

两个用户同时向服务器提交了他们的列表,并且意外地收到了他们项目的相同ID


我是否过于偏执,认为这种情况可能会发生,或者即使我的担心是不必要的,是否有办法避免这种情况?

通常,数据库负责为记录分配ID。假设您使用的是数据库,这不应该是问题。如果您正在生成自己的id,请散列用户特有的内容以及时间和列表,如用户id。您如何生成id?你是如何储存它们的?您希望ID是连续的吗?@Max ID只是数字的子集(例如,1-1000)。它们存储在MongoDB中,但实际上用户将提交数量不确定的项目,然后申请一组与提交的项目数量相等的ID(例如,如果用户提交11个项目,则将为这些项目申请ID 1-11)。是的,它们必须是连续的。