红色节点多上下文

时间:2018-06-28 11:45:18

标签: javascript node-red

我有一个红色节点应用程序。

用户使用存储在sqlite数据库中的凭据登录。

根据从数据库返回的信息,它设置了一堆变量以供其他流程使用。

flow.set('sid', userid);
flow.set('fname',forename);
flow.set('sname',surname);

但是,如果另一个用户同时登录,则所有这些变量都将重置为属于用户2,因此,用户1现在拥有用户2的所有信息。

是否有一种设置变量的方法,以便它们可以同时存在,以便用户每次访问应用程序时都有自己的上下文?

在这里提供任何帮助

1 个答案:

答案 0 :(得分:2)

节点红色流不具有“谁”触发它的固有知识。那是应用程序级别的细节。

假设您有办法识别触发流程的用户,则可以使用该信息为他们建立唯一的上下文键。

例如,假设msg.req.user包含用户的唯一ID。然后,您可以这样做:

flow.set(msg.req.user+':sid', userid); flow.set(msg.req.user+':fname',forename); flow.set(msg.req.user+':sname',surname);