Permissions 如何仅显示用户';他自己的文档在CouchDB中吗?

Permissions 如何仅显示用户';他自己的文档在CouchDB中吗?,permissions,couchdb,filtering,couchapp,user-permissions,Permissions,Couchdb,Filtering,Couchapp,User Permissions,为了从其他用户的文档中筛选用户自己的文档,我将返回文档的创建者作为密钥或密钥的一部分: org.couchdb.user:user1 或 这是创建“我的文档”页面的最佳方式吗?或者我可以简单地返回另一把钥匙吗 otherkey 然后使用userCtx对其进行过滤 答案取决于您的体系结构 如果您的客户端和数据库之间有某种“中间件”,您可以通过查询?startkey=[“org.couchdb.user:user1,otherkey])来限制从您描述的第二个视图模式([org.couchdb.u

为了从其他用户的文档中筛选用户自己的文档,我将返回文档的创建者作为密钥或密钥的一部分:

org.couchdb.user:user1

这是创建“我的文档”页面的最佳方式吗?或者我可以简单地返回另一把钥匙吗

otherkey

然后使用
userCtx
对其进行过滤

答案取决于您的体系结构

如果您的客户端和数据库之间有某种“中间件”,您可以通过查询
?startkey=[“org.couchdb.user:user1,otherkey]
)来限制从您描述的第二个视图模式(
[org.couchdb.user:user1,otherkey])获取数据。这将结果限制在第一个可能发出的键和最后一个键之间,因为较短的数组在较长的数组之前排序,而对象在其他值类型之后排序

如果你试图尽可能多地在CouCHDB中进行验证和数据显示(例如,你正在编写一个“CouChip”),那么你应该考虑使用什么。这可用于为每个用户提供他们自己的个人数据库,例如,非公共主数据库的子集,其中只包含他们应该查看的文档。然后,您可以只发出普通文档键,并假设您的结果将只包含相关文档


在这篇博文的中途,还有一些关于使用过滤复制的背景知识,您也可以在这里找到关于特定问题的更多讨论。

您需要禁止访问非自有文档吗?是的。最终,我想让他们能够允许其他用户查看或编辑它们。
otherkey