2010-12-14 43 views
1

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

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

+0

你的要求是由CouchDB的支持。它是一种类似MongoDB的json文档数据库,但具有自动复制和同步功能。如果mongodb不是必须的,你可能需要考虑它。 – Rudy 2013-11-27 17:57:46

回答

0

这是一个非常有趣的问题,遗憾的是我没有为一个伟大的答案(也没有其他人似乎在这一点上做的。)

但是,您可能会感兴趣的MongoSV最近这次演讲在使用MongoDB的与iOS ...

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

在presentaion蒂姆·伯克斯提到了一些项目,他的工作对存储在iOS设备上MongoDB的数据,它可能对你有所帮助。

他提到Tokyo Cabinet例如...你可以在理论上商店BSON/JSON结构SQLite的(有点怪异,但可行的。)

相关问题