将PouchDB用作常规RESTful Web服务的脱机客户端临时存储

时间:2017-05-10 04:22:02

标签: web-services rest couchbase offline pouchdb

我有一个服务器端Web应用程序,顶部有一个RESTful Web API,另一个是客户端webapp。我想在webapp中实现离线存储和功能,以防服务器(或互联网)不可用。是否可以在客户端实现PouchDB,并使其与我的restful webservice而不是CouchDB数据库同步? webservice需要遵守哪些标准才能与couchdb / pouchdb兼容?有没有人有任何关于这方面的例子或有关如何以不同的方式做出不同的建议(如果可以的话,我不想将我的后端从postgresql / python切换到couchdb)?

1 个答案:

答案 0 :(得分:1)

  

在客户端实现PouchDB是否可行,并将其与我的restful webservice同步而不是CouchDB数据库?

可能不是。但这取决于你对"可行"的定义。

  

webservice需要遵守哪些标准才能与couchdb / pouchdb兼容?

需要实施CouchDB Replication protocol

  

如果有更好的方法,是否有人有关于此的任何示例或有关如何以不同方式执行此操作的建议?

你有两个选择,它们可以归结为同样的事情:

  1. 您可以实施现有的复制协议。
  2. 您可以编写自己的复制协议。
  3. 底线是:您需要一个客户端和服务器都说话的复制协议。这不是一件容易的事。复制很难。

    PouchDB + CouchDB为您解决了这个难题,但它需要付出代价 - 它只能复制JSON数据。当然,您可以将其他数据转换为JSON文档,但之后您又要重新编写新协议。

    正如您在评论中所建议的那样,您可以将PouchDB仅用于本地存储,并进行自己的复制。当然,那没关系。虽然如果您不使用PouchDB的复制,它可能不是最适合您的本地存储解决方案(但它仍然是一个很好的解决方案)。