【发布时间】:2010-12-14 23:49:53
【问题描述】:
我正在使用objective-c 和本地工具开发一个mac 应用程序。我喜欢 mongodb 基于文档的实现,我计划用它来存储我的应用程序的数据(数据或多或少是音乐曲目的标题,以及伴随的元数据)。该应用程序的目的是让用户能够将数据库的数据库版本同步到他们的本地版本。然后,能够始终在他们的计算机上拥有本地版本,这样就不需要互联网来使用该应用程序。但是,如果用户离线,并对他们的本地数据进行了更改,当他们重新上线时,这些更改将同步回 mongodb 数据库。我遇到的问题是找到解决这个问题的最佳方法。我现在能想到的最好的方法是最初从数据库中提取数据并序列化数据库中每个“音乐曲目”条目的本地副本。所以当离线时,问题会从这些序列化的对象中填充数据。如果用户离线添加/更改数据,更改会被记录下来,并等待用户重新上线时推送到 mongodb 数据库。 mongodb 数据库中的所有条目都会有时间戳,因此当应用程序在线运行时,每隔几秒钟,应用程序可以比较其本地副本和远程副本的时间戳,以查看是否已进行更改,并进行相应的更新。
这是从 mongodb 数据库远程和本地同步数据的好方法吗?
【问题讨论】:
-
couchdb 支持您的要求。它是一种 json 文档类型的数据库,例如 mongodb,但具有自动复制和同步功能。如果 mongodb 不是必须的,你可以考虑一下。
标签: objective-c synchronization mongodb