Couchdb 如何仅为某些用户和角色显示和复制文档?

Couchdb 如何仅为某些用户和角色显示和复制文档?,couchdb,replication,acl,pouchdb,nosql,Couchdb,Replication,Acl,Pouchdb,Nosql,我正在与couchdb和PockDB构建一个协作应用程序 我想实现一个日历功能 假设有一个类似“秘密会议”的活动,涉及用户Jessica和James,因此该活动应该只有Jessica和James的读取、更新和复制功能。 或者,比方说,我有一个像“大会”这样的活动,它应该只为所有当前(和未来!)具有“办公室”角色的用户提供读取、编辑和复制功能 我知道couchdb中没有每个文档的访问控制。 我也读过关于使用“代理服务器”的书,但我不明白它们是如何工作的 我读了很多关于使用“每个用户一个文档”的书。

我正在与couchdb和PockDB构建一个协作应用程序

我想实现一个日历功能

假设有一个类似“秘密会议”的活动,涉及用户Jessica和James,因此该活动应该只有Jessica和James的读取、更新和复制功能。 或者,比方说,我有一个像“大会”这样的活动,它应该只为所有当前(和未来!)具有“办公室”角色的用户提供读取、编辑和复制功能

我知道couchdb中没有每个文档的访问控制。 我也读过关于使用“代理服务器”的书,但我不明白它们是如何工作的

我读了很多关于使用“每个用户一个文档”的书。 那么,如何使每个数据库中的文档保持同步呢? 我可以为每个事件创建一个数据库,但如何查询显示所有事件的视图?我是否还必须为每个角色保留一个数据库

这是当今每个web应用程序最常见的用例! 想想Facebook,想想Whatsapp,每一个聊天应用


如果您不能限制对某些文档的访问,您应该如何使用CouchDB?

是的,您应该为每个用户建立一个数据库,您将使用该数据库将与该用户或该用户所属角色相关的所有事件文档放入每个数据库,然后您将整个数据库复制到用户的数据库中。

我最终为我的数据库开发了一个代理服务器,它位于我的主数据库前面并过滤数据。它有自己的端口,并在端口5984上查询Couchdb以获取权限。我使用了nodejs和Nano couchDB适配器来实现这一点。

你有没有链接到这个:这个线程没有答案,偏离了主题。我想你的意思是“每个用户一个数据库”而不是“每个用户一个文档”。此外,CouchDB允许对每个文档进行访问,但必须使用设计文档进行设置。可能是@Flimzy的副本,它不允许对每个文档进行读取访问。你在哪里读到的?我很困惑。如果您能详细说明如何解决这个问题,我将不胜感激,因为我也在使用nodejs和Nano。