gpt4 book ai didi

meteor - 某些 Meteor 数据源能存活多久?

转载 作者:行者123 更新时间:2023-12-05 01:02:26 25 4
gpt4 key购买 nike

MiniMongo 集合通常会同步到 Mongo 集合,因此它的生命基本上是永远的。

我想存储一个 Shopping Cart目的。用户登录后,可以轻松存储和管理购物车数据的持续时间。但是当用户没有登录时呢?您不希望他们导航到网站的其他部分,甚至不希望刷新页面并彻底清除他们的购物车。但您也不想将购物车存放太久。将内容存储一天或几个小时就足够了。

miniMongo 本地收藏 (new Mongo.Collection("null");) 可以使用多久?我可以将购物车内容存储在本地集合中还是会在页面刷新时删除集合?

同样,Session 变量持续多长时间?

--- 答案摘要---

  • session 变量 - 页面刷新后死亡, react 性
  • 本地集合 - 页面刷新后死亡, react 性
  • 本地存储 API - https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage , 持续不同的时间段,从永远到选项卡关闭时,不是 react 性的,不同的浏览器有不同的存储和从 LocalStorage 检索的方式,因此代码复杂。
  • 使用 Amplify 的 LocalStorage - http://amplifyjs.com/ - 基本上是使用 LocalStorage API 的一种更简单的方法。
  • 将数据存储到带有时间戳的 Mongo 集合中。使用该时间戳运行一个 cronjob,它会在一段时间后定期删除数据 - 响应式(Reactive),在所有计算机和浏览器中持续存在,让您完全控制数据过期的方式和时间,需要更多的编码和设置
  • 最佳答案

    页面刷新后 session 变量和本地集合将被删除,因此您可以从可能性列表中删除它们。

    另一种方法是将购物车数据存储在 localStorage 中。 .您可以通过直接调用 localStorage API 或使用类似 amplify.js 的 polyfill 来实现。 ( meteor package ) 如果您需要支持旧浏览器。这种方法的唯一问题是它不能跨浏览器/计算机工作,并且它不会在选项卡之间产生 react 。

    我的建议是将购物车数据存储在维护 updatedAt 的集合中。时间戳。然后添加一个 cron job定期删除所有购物车,其中 updatedAt超过 X 小时。这具有跨选项卡/浏览器/计算机 react 性工作的优势,并且您可以完全控制购物车何时到期(包括添加奇特的规则,例如如果用户碰巧连接则不让购物车过期)。

    关于meteor - 某些 Meteor 数据源能存活多久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569977/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com