我想实现一个 webapp - 一个集成来自各种来源的数据并将它们显示给用户的提要。用户应该只能看到他有权读取的提要项目(例如,因为它们属于他所属的项目)。然而,一个提要项目可能(并且将会)被许多用户看到。
我真的很想使用 CouchDB(主要是因为很酷的 _changes 提要和 map/reduce 视图)。我正在考虑将应用程序实现为纯 couchapp,但我在权限模型方面遇到了问题。AFAIK,CouchDB 中没有每个文档的权限,这通常使用每个用户的数据库和复制来实现。
但是,当不同用户看到的内容之间有很多重叠时,这会带来很多开销……东西会被复制到所有地方,并在许多数据库中复制。我喜欢这种方法的优雅,但巨大的开销感觉就像是一个交易破坏者......(假设我有 50 个用户,他们都看到相同的数据......)。
请问有什么办法吗?替代解决方案?