从REST服务更新localStorage,但只更新新记录

时间:2014-12-17 10:16:01

标签: angularjs mongodb mongoose ionic-framework

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

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

非常感谢,

Wittner

1 个答案:

答案 0 :(得分:0)

是的,可能。但如果不止一个客户可以更改相同的数据(移动应用程序+网站),它唯一有用。

要知道哪些记录是新的或已更改,您只能转移和比较上次更改的ID + md5 +日期/时间(以微秒为单位)

smple sync的伪逻辑:

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

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