CouchDB读取限制

时间:2018-06-14 23:14:41

标签: couchdb readonly

我有一个应用程序,我想实现聊天/消息服务。我必须将CouchDB与PouchDB一起使用。我的问题是每个用户都应该能够向任何人发送消息,但只有消息的接收者可以读取此信息,但CouchDB中没有办法限制每个用户阅读对话文档。每个用户的数据库也不是解决方案,因为每个人都无法写入相应的数据库。

1 个答案:

答案 0 :(得分:3)

CouchDB& PouchDB没有每个文档的访问控制,只有每个数据库。对此的一个解决方案是:

  • 用于驻留在服务器上的已发送邮件的单个数据库。 PouchDB客户端通过客户端 - >服务器单向复制写入(但不读取)此数据库。
  • 服务器端的每个用户的数据库,具有server->客户端单向复制。这就是PouchDB客户端收到消息的方式。
  • 在服务器端,编写一些自定义脚本,将文档从中央数据库移动到每个用户数据库,具体取决于收件人

这与我blog post about bus station displays中概述的方法类似,后者使用无服务器更改提要侦听器来路由消息。它并不理想,但却是一种解决方案。