【问题标题】:Update localStorage from REST services, but only new records从 REST 服务更新 localStorage,但只更新新记录
【发布时间】:2015-02-15 20:36:05
【问题描述】:

我的移动应用中有一项服务,它可以使用刷新选项从远程服务器更新记录。此服务执行后,会将数据保存到 localStorage。这可以正常工作并节省用户不必要地使用带宽。但是,本地数据将被修改并具有一些额外的字段,包括可以在应用程序中设置的布尔“收藏夹”选项。

有没有办法从 REST 服务器只下载新的或更改的记录?我想确保本地数据不只是被覆盖。不一定要寻找代码,只是处理这个问题的模式会很棒。我想避免使用 JavaScript 的 map 函数,因为它看起来很笨重,但也许没有其他办法......

非常感谢,

维特纳

【问题讨论】:

    标签: angularjs mongodb mongoose ionic-framework


    【解决方案1】:

    是的,这是可能的。但它只有在多个客户端可以更改相同数据(移动应用程序 + 网站)时才有用。

    要知道哪些记录是新的或更改的,您可以仅传输和比较上次更改的 IDs + md5 + 日期/时间(微秒)

    简单同步的伪逻辑:

    • 客户端:获取所有 ID、日期和本地存储中数据的计算 md5
    • 客户端:将此信息发送到服务器
    • 服务器:将 ID、日期和 md5 与服务器数据进行比较
    • 服务器:收集更改的数据
    • 服务器:向客户端发送数据
    • 客户端:修改localStorage中的数据

    如果客户端上的数据发生变化(移动应用) 直接将数据发送到服务器

    【讨论】:

    • 问题是,我无法控制 REST 服务器(尽管我可以控制测试)。这将是会更改的公共数据,但我将无法更改远程代码。但是,您关于确保满足不同客户的建议提出了另一点。我可能需要一个远程资源,其中包含始终与应用程序保持同步的已更改数据子集...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    相关资源
    最近更新 更多