将 PouchDB 离线同步到 PostgreSQL

Syncing PouchDB offline to PostgreSQL

我正在尝试使用 pouchDB 使我的 Web 应用程序在离线模式下工作。但我使用的后端数据库服务器是 PostgreSQL (NoSQL)。当我的应用程序恢复在线时,我找不到将我的 PouchDB 数据同步到 postgreSQL 的方法。谁能告诉我怎么做

简短回答:你不能。不可能。放弃。你需要 CouchDB。

长答案:你有两个选择:

  1. 您可以为 PouchDB 实现自定义复制器(它只是一个 PouchDB plugin -- that can get complicated, but not necessarily --, see the default Pouch-Couch replicator source code);或
  2. 你可以设置一个后端服务作为 PouchDB 和 Postgres 之间的代理,这基本上需要你理解和实现 CouchDB replication protocol,即你需要一个服务器有一堆return 正是 PouchDB 复制器所期望的 HTTP 端点。

另见 this answer 来自另一个问题。

另一种可能性(它可能适用于您的用例,也可能不适用于您的用例,具体取决于您的数据结构):

您可以将您的一些数据(只是需要同步到浏览器的数据)移动到 CouchDB,但通过 Postgres 中的外部数据包装器功能让 Postgres 访问它,这样您就不需要转换您的整个应用程序将所有内容都放在 CouchDB 中,并且您不会失去关系数据库的好处。