使用本地序列化版本同步mongodb数据库的最佳方法

时间:2010-12-14 23:49:54

标签: objective-c synchronization mongodb

我正在使用objective-c和本机工具开发一个mac应用程序。我喜欢mongodb基于文档的实现,我打算用它来存储我的应用程序的数据(数据或多或少会成为音乐曲目的标题,附带元数据)。该应用程序的目的是允许用户能够将数据库的数据库版本同步到其本地版本。然后,能够在他们的计算机上始终拥有本地版本,因此不需要互联网来使用该应用程序。但是,如果用户处于脱机状态并对其本地数据进行了更改,则当他们重新联机时,更改将同步回mongodb数据库。我遇到的问题是找到解决这个问题的最佳方法。我现在能想到的最好的方法是首先从数据库中提取数据并序列化数据库中每个“音轨”条目的本地副本。因此,当离线时,问题将填充来自这些序列化对象的数据。如果用户离线添加/更改了数据,则会记录更改,并在用户重新联机时等待推送到mongodb数据库。 mongodb数据库中的所有条目都将加上时间戳,因此当应用程序在线运行时,每隔几秒钟,应用程序就可以比较本地副本和远程副本的时间戳,以查看是否已进行更改,并相应地进行更新。

这是从mongodb数据库远程和本地同步数据的好方法吗?

1 个答案:

答案 0 :(得分:0)

这是一个非常有趣的问题,遗憾的是我没有一个很好的答案(此时其他人也没有这样做。)

但是,您可能对MongoSV最近的演示文稿感兴趣使用MongoDB和iOS ......

http://www.10gen.com/video/mongosv2010/ios

在目前,蒂姆·伯克斯提到了他正在努力将一些项目存储在iOS设备上的MongoDB数据,这可能对你有所帮助。

他提到Tokyo Cabinet例如......理论上你可以在SQLite中存储BSON / JSON结构(有点奇怪,但可行。)