2010-12-14 44 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的(有點怪異,但可行的。)

相關問題