限制PouchDB中的数据

问题描述:

我有一个离线就绪的应用程序,目前我正在使用电子技术构建。限制PouchDB中的数据

核心要求是所有数据都是有限制的(必须是用户读取或写入的),并且在该数据中,一些数据被进一步限制为用户(帐户信息,消息等等)

现在我想要的任何数据离线用户应该访问(这是因为所有的数据可以使用devtools无论限制可以看出)复制所以基本上我只是想将数据同步到PouchDB的离线商店,如果该用户有权访问它以及所有用户有权访问的所有数据。

现在我已阅读以下文章/指南,但我仍然有点困惑。

从我的理解过滤是一个不错的选择性能明智的,即使它可以做我想做的。

建立一个代理会工作,但它基本上成为一个REST API,数据同步崩溃。

而我认为最终的选择是我想要的是为每个用户提供一个数据库,这些用户将包含他们的私人信息,然后使用额外的数据库来存储可供每个用户使用的信息。

唯一真正的问题我有这种做法的数据是如何处理的是私人使用,但两个用户之间共享(邮件等)

我更该怎么数据的总体视图后应被存储而不是代码示例,只是真正与应用程序的概念架构苦苦挣扎。

您的问题有很多解决方案。一种解决方案看起来非常有前途:IBM Cloudant已开始工作Cloudant Envoy,这是一个模拟CouchDB接口而不是简单的REST API的代理。您可以在网站上阅读更多关于Envoy over at ibm.com的信息。在Github上也有一个custom replicator for PouchDB

这里还有一个blog post on Medium.com

这个想法和更老的Couchbase Sync Gateway一样。虽然Couchbase与CouchDB有着共同的根源,但我没有跟踪他们是否仍然支持使用CouchDB进行复制。

最简单的启动方法是在服务器上为每个用户创建一个数据库,并从共享数据库中提取共享数据。如果您需要关于此解决方案的更多信息,请告知我们。

+0

这听起来像是一个非常好的解决方案,感谢所有的信息,在这种情况下,我会用什么来处理两个用户私有的数据(即消息),这将再次成为一个单独的数据库? –

+0

如果消息不是应用程序的主要部分,则可以设置服务器端脚本,将传出消息作为传入消息复制到收件人。但是,如果您的应用程序的主要用途是消息传递系统,则应考虑使用其他设置。 –