Ionic 2 存储与 Pouch DB

Ionic 2 Storage vs Pouch DB

鉴于我的关系数据库背景,我正在努力了解 IONIC 2 中的数据存储。阅读了大量关于这方面的教程和文章后,我对如何进行有一个大致的了解,但希望得到一些建议如果我在正确的轨道上。我热衷于使用 NoSQL,所以许多使用 Ionic 的 SQL 存储的教程都没有帮助。

到目前为止,我倾向于使用 Ionic 2 的 Storage 或 Pouch DB。我看不出区别。当 运行 作为本机应用程序时,两者都使用 SQLite,或者回退到 IndexDB 或 WebSQL。

此处推荐的做法是什么?

你说得对,PouchDB 和 Ionic Storage 都提供了非常相似的基本功能

  • 您可以存储和检索 JSON 个文件。检索数据可以通过一个键或一次完成。

  • 两者都可以使用不同的数据库来存储您的数据。

但是 PouchDB 提供了更多功能:

  • Replication:这是PouchDB的杀手级功能!您可以 replicate/synchronize 将 PouchDB 连接到任何其他实现 CouchDB 同步协议的数据库。根据您尝试构建的应用程序,这可以为您节省大量工作。
  • Map/reduce queries:如果您有关系数据库背景,请花点时间考虑一下您将如何查询您的数据库。 Ionic Storage 仅提供 get 按键和 forEach 迭代器:如果您的数据库中有数千个条目,这 scale/perform 会怎样?另一方面,PouchDB 提供了一个 API 来执行 map/reduce 查询,持久化这些查询以获得更高的性能等等...

TLDR:如果您的用例是在本地存储和获取一些文档,那么 Ionic Storage 是最佳选择。无需添加新的依赖项和 dead-simple API。如果您的用例包括同步到远程数据库(最好是 CouchDB)或包括对大量文档进行复杂查询,我建议您使用 Pouch。