流星GroundDB粒度,用于离线/在线同步

让·弗朗索瓦·尚尚(Jean-Francois Beauchamp)

假设有两个用户在脱机时对同一文档进行了更改,但是在文档的不同部分进行了更改。如果用户2在用户1之后又重新联机,则用户1所做的更改会丢失吗?

在我的数据库中,每一行都包含一个JS对象,该对象的一个​​属性是数组。该数组绑定到接口上的一系列复选框。我想要的是,如果两个用户对这些复选框进行了更改,则将根据更改的时间而不是同步的时间分别为每个复选框保留最新的更改。GroundDB是实现此目标的合适工具吗?是否有任何添加事件处理程序的方式,其中可以添加一些在发生同步时触发的逻辑,该逻辑将负责合并?

莱克斯

简短的答案是“是”,因为逻辑是根据冲突解决方案的行为定制的,所以所有地面数据库版本都没有冲突解决方案。如果要自动化或让用户参与。

旧的Ground DB仅依靠Meteor的冲突解决方案(服务器上的最新数据获胜),我猜您会看到一些问题,具体取决于哪个客户端上线的顺序。

Ground db II没有方法恢复,它或多或少只是一种离线缓存数据的方法。它是在可观察的源上观察的。

我猜您可以为GDB II创建一个中间件观察器-在更新和更新客户端之前,应检查本地数据,或/和调用服务器以更新服务器数据。这样,您将有一种处理冲突的方法。

我想记得要写一些支持“ deletedAt” /“ updatedAt”的代码来进行某些类型的冲突处理,但是冲突处理程序应该在大多数情况下是自定义的。(为可重用的冲突处理程序打开大门可能会很有用)

如果您不通过诸如“ deletedAt”实体之类的“软”删除操作,那么特别是知道何时删除数据可能会很棘手。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检测离线的Meteor Cordova应用程序,然后使用GroundDB临时存储数据直到恢复在线状态?

来自分类Dev

如何将Firebase离线数据与在线数据同步

来自分类Dev

如何与在线 json 同步,因为离线 sqlite 填充了重复的条目?

来自分类Dev

将离线SQLite数据库与在线MySQL数据库同步

来自分类Dev

我的 HTML + JavaScript 代码适用于在线编辑器,但不能离线使用

来自分类Dev

Mapbox离线和同步

来自分类Dev

离线时间同步

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

Gradle 同步失败:没有可用于离线模式的缓存版本

来自分类Dev

如何使流星方法同步?

来自分类Dev

共享项目列表的细粒度同步

来自分类Dev

iOS App离线和同步

来自分类Dev

离子框架数据离线同步

来自分类Dev

Android 实时 Firebase 离线同步

来自分类Dev

Android - Firestore 离线数据同步

来自分类Dev

用于生产的“流星”与“流星束”

来自分类Dev

Angular在线/离线应用程序

来自分类Dev

Worklight在线+离线身份验证

来自分类Dev

检查服务器状态-在线/离线

来自分类Dev

使用Twitch API显示离线/在线流光

来自分类Dev

TextToSpeech:检查API <21是否在线或离线

来自分类Dev

在线,间歇,离线php ping脚本

来自分类Dev

如何检查设备是在线还是离线Phonegap

来自分类Dev

Worklight在线+离线身份验证

来自分类Dev

离线时伪造在线网站

来自分类Dev

quickblox中的在线离线用户状态

来自分类Dev

使用Twitch API显示离线/在线流光

来自分类Dev

在线或离线存储 iOS 应用的视频?