PouchDB 复制设计文档

3
我有一个在应用内浏览器中运行PouchDB的Cordova应用程序。每个用户都属于一个“团队”。对于每个团队,在云中有一个couch数据库,他们都将本地pouch与之同步。
我想创建一个设计文档,提供一些简单的过滤功能,但我担心任何属于该团队的用户都可以创建设计文档的新版本,从而影响其他所有用户对文档的视图。
锁定设计文档的更新是一种常见实践吗?这些设计文档通常在用户之间复制,还是仅在本地pouch中创建,并防止复制到共享云couch中?
1个回答

8
我向人们提出的标准建议是永远不要复制设计文档。这样做会让人感到混乱,也存在安全风险。
因此,在进行复制时,您可以执行过滤操作,排除以“_design/”开头的任何文档。在客户端上,您只需创建所需的任何ddocs,并在服务器上进行相同操作。
另一方面,这并不能防止恶意用户尝试在服务器端覆盖设计文档。(如果您同时使用服务器端ddocs)唯一的方法是使用“validate_doc_update”函数,您可以使用它来防止非管理员覆盖设计文档。
希望对您有所帮助!

1
这正是我需要知道的。谢谢! - Kyle
@nlawson,“客户端,您只需创建所需的任何ddocs”。您的意思是在PouchDB中再次创建相同的ddocs吗?这不会导致重复的ddocs吗? - Nest

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接