考虑到我的关系数据库背景,我正在努力了解IONIC 2中的数据存储。阅读了许多有关此问题的教程和文章之后,我对如何进行有一个一般性的了解,但是希望我能对我有所帮助。正确的轨道上。我热衷于使用NoSQL,因此许多使用Ionic的SQL Storage的教程都无济于事。
到目前为止,我倾向于使用Ionic 2的Storage或Pouch DB。我看不出有什么区别。当作为本机应用程序运行时,它们都使用SQLite,或者在IndexDB或WebSQL上使用回退。
这里推荐的做法是什么?
没错,PouchDB和Ionic Storage 都提供了非常相似的基本功能:
您可以存储和检索JSON文件。检索数据既可以通过键也可以一次全部起作用。
两者都可以使用不同的数据库来存储您的数据。
但是PouchDB提供了更多功能:
复制:这是PouchDB的杀手feature!您可以将PouchDB复制/同步到其他任何实现CouchDB同步协议的数据库。根据您尝试构建的应用程序,这可以节省很多工作。
映射/减少查询:如果您具有关系数据库背景,请花点时间考虑一下如何查询数据库。Ionic Storage仅提供一个By get
键和一个forEach
迭代器:如果数据库中有成千上万的条目,它将如何扩展/执行?另一方面,PouchDB提供了执行映射/减少查询,持久化这些查询以提高性能的API,等等。
TLDR:如果您的用例是在本地存储和获取一些文档,那么Ionic Storage是您的最佳选择。无需添加新的依赖项和简单的API。如果您的用例包括同步到远程数据库(最好是CouchDB)或包括对许多文档进行复杂的查询,我建议您使用Pouch。