流星会议

art*_*ian 4 session meteor

经过研究,似乎 Meteor 会话在刷新页面或在新选项卡中打开网站后重置,即它们不是通常的服务器端会话,而是类似于客户端的全局 javascript 变量。有些人建议使用 AmplifyJS,但我不确定它是否会像其他框架/语言中的常规会话一样工作,而且它是第三方库,所以在 Meteor 中使用会话有什么正常的方法,即保持用户-服务器上的特定数据?

目前我正在通过使用自定义集合来处理这个问题,但这不是一种理想的方法,因为需要手动从集合中删除过期值,这会带来额外的麻烦。

Aks*_*hat 5

是的,这是正确的。尽管名称Session与 cookie 完全不同,但它只是存储在哈希映射中的变量的反应形式

要在选项卡之间保持数据持久性,您需要使用集合(因为这是跨选项卡被动共享数据的唯一方法) - Cookie 无法工作,因为它们无法响应,因为需要将数据发送到服务器有变化时通知客户。目前真的没有其他方法,因为发布/订阅方法目前只能从集合中发送数据。

您可以将您现在的设置与您的自定义集合一起使用。您可以使用服务器端 cron 作业删除过期数据(使用Meteor.setIntervalTom Coleman 的 cron