Couchdb 多用户邮袋数据库上的邮袋数据库管理视图

Couchdb 多用户邮袋数据库上的邮袋数据库管理视图,couchdb,pouchdb,Couchdb,Pouchdb,我们正在处理一个非常类似于此()的案例,并且不确定什么是更好的方法 首先,我们有多个“普通用户”(从现在起我将简称为“用户”)和一小部分“超级用户”(我将称之为“管理员”,以保持词汇表的简单性) 用户可以创建文档和编辑文档,这些文档是唯一分配给他们的。此功能应可在线和离线使用。要实现这一点,我们只需为每个用户使用一个远程独立的CouchDB,并同步到设备上的PockDB 现在,我们还有管理员,可以查看和编辑所有用户的所有文档。他们还可以将文档添加到用户的bucket中。实现这一功能正是问题所在

我们正在处理一个非常类似于此()的案例,并且不确定什么是更好的方法

首先,我们有多个“普通用户”(从现在起我将简称为“用户”)和一小部分“超级用户”(我将称之为“管理员”,以保持词汇表的简单性)

用户可以创建文档和编辑文档,这些文档是唯一分配给他们的。此功能应可在线和离线使用。要实现这一点,我们只需为每个用户使用一个远程独立的CouchDB,并同步到设备上的PockDB

现在,我们还有管理员,可以查看和编辑所有用户的所有文档。他们还可以将文档添加到用户的bucket中。实现这一功能正是问题所在

目前,我们确定了两种可能的方法,但不确定哪种方法是可行的

我们的第一个解决方案是为这些管理员提供一个CouchDB,并在所有用户的CouchDB和管理员his CouchDB之间设置过滤的双向复制。管理员的CouchDB随后将与本地数据库同步

第二种解决方案是在顶部链接中绘制的,它是将所有用户的CouchDB直接同步到管理员设备上的PockDB,并在另一个方向设置过滤复制。我们可以根据用户角色确定要同步哪些CouchDB

第二种解决方案似乎更简单、更不脆弱(CouchDB中的数据复制更少,CouchDB中的复制设置更少),但我们不太确定同时打开大量沙发袋复制的性能开销


有人有过类似这样的经历吗?有没有关于更好的解决方案的反馈?还是我们错过了另一个?欢迎大家发表意见

您是否考虑过数据只保留在用户数据库中,管理员会创建一个新的本地数据库来复制用户数据库

更详细地说,我建议管理员界面创建本地数据库,例如使用“userdb-{$userid}”这样的命名模式

然后,您可以执行从用户数据库到管理员本地副本的复制

所有更改都将同步到用户数据库,您不需要任何经过筛选的复制,也不存在混合不同用户数据的风险


从您对确切需求的有限了解中,这可能是一个更好、更简单的解决方案。

谢谢您的回答!这或多或少正是我们最终采取的方法,能够以某种方式验证它是非常棒的。否决这一答案的人能否解释他否决这一答案背后的理由?