我可以使用MongoDB替代iOS上的CoreData吗?

zar*_*don 22 iphone couchdb native core-data mongodb

我刚刚开始阅读MongoDB和CouchDB等NoSQL技术.我很想知道我是否可以使用MongoDB或任何NoSQL技术来替代核心数据应用程序.

核心数据应用程序可能需要很长时间才能学习和实现,特别是如果您的应用程序很复杂并且您只想进行一些简单的添加,编辑,删除和查询(CRUD内容).

因为它看起来像JSON,看起来它可以运行得非常快; 我对NoSQL over Core Data的实现很感兴趣.

我可以将MongoDB作为本机运行吗?我做了一些谷歌搜索,但我真的无法得到我追求的具体答案.

如:

我不确定iphone在iphone平台上的优势是什么,是否支持,如果我提交一个带有NoSQL的应用程序,苹果团队会否认它吗?

谢谢

Tec*_*Zen 20

顺便说一句,我会注意到这是一个常见的误解,但Core Data不是一个数据库系统.

相反,它是一个运行时对象图管理系统,如果您需要,可以选择持久性作为选项.它的主要功能是提供模型 - 视图 - 控制器设计模式的模型层.因此,它不仅可以处理磁盘上的数据,还可以处理磁盘上的数据.

核心数据确实有学习曲线,但根据我的经验,许多人面临的最大障碍是将核心数据视为某种面向对象的SQL包装器.从这个角度来看,Core Data非常令人困惑,因为它似乎需要学习很多与持久性无关的知识.

使用像SQLite,MongoDB和CouchDB这样的数据库来实现持久化并不会真正加快速度,因为尽管你可能更好地理解它们如何在磁盘上和磁盘上获取数据,但它们在管理数据和关系方面根本无济于事到其他数据对象和UI的对象.你仍然需要一个数据模型,你必须手动编写所有这些.除非您的数据模型非常简单,否则比学习核心数据需要更多时间.

学习核心数据的最佳方法是忽略对象图可以持久存在的事实.从这个角度出发,你已经有了很多代表你应用程序数据模型的对象,你必须管理它们的属性和关系.

  • 我相信Core Data + DB(SQLlite)= NoSQL !! (2认同)
  • 不,不是真的。NoSQL 是关于结构化***存储***。存储是核心数据中的事后想法。请参阅有关何时使用核心数据的相关答案http://stackoverflow.com/questions/5237943/creating-a-json-store-for-iphone/5249674#5249674 (2认同)