我想将 iPhone 上的核心数据与 Sinatra 服务器上的 MongoDB 同步。
当 iPhone 从 Node.js 聊天服务器获取消息时,该消息包含发送者的 BSON ObjectId(一个字符串)。为了让 iPhone 存储这条消息,我在 Core Data 中找到了具有相同 ID 的用户。我希望能够做类似的事情objectWithID
。换句话说,我想将 NSManagedObjectIDs 设置为与 MongoDB BSON ObjectIds 相同。我要检查的另一件事是,如果 managedObjectContext 中没有具有发件人 ID 的用户,我将从persistentStore 中获取他,如果他不存在,我将创建他。这只是为了维护 Message 和 Sender 之间的关系。也许我应该将消息对象的发送者属性存储为他的 BSON ObjectId 作为字符串而不是作为用户 NSManagedObject。
你有什么建议吗?我也应该在 iPhone 上使用 MongoDB 吗?我刚刚意识到它有一个 Objective-C 驱动程序。但我刚刚开始掌握 Core Data 的窍门,它有一些我可能想要使用的很酷的东西(比如撤销支持)......现在,我只是将它用于简单的获取和持久存储,所以我可以代替它。但我计划在未来实现撤消支持,只是因为我认为这是很好的可用性。我更喜欢撤消选项而不是必须回答确认弹出窗口,例如,我喜欢 GMail 如何让您撤消发送或撤消删除消息等。
谢谢!
马特