![]() |
1
12
为每个用户创建CouchDB存储桶(DB)是非常常见的场景。尽管存在一些缺点:
每个文档读取ACL可以使用
你也可以试着玩 CoverCouch 它实现了一个完整的每文档读取ACL,保持了原始的CouchDB API不变,但它处于很早的测试阶段。 |
![]() |
2
3
这是一个非常常见的用例,尤其是在移动环境中,每个用户的数据都使用Android、iOS或JavaScript(pouchdb)库之一同步到设备。 所以在概念上,这是可以的,但我仍然建议在投入生产之前进行彻底测试。 请注意,多个数据库的一个缺点是您无法编写跨多个数据库查询。不过,有一些变通办法-有关更多信息,请参阅 Cloudant: Searching across databases . 2017年3月17日更新 : 请查看Cloudant Envoy以了解有关此方法的更多信息。
|
![]() |
3
2
该解决方案与web应用程序一样古老-如果您想到mySQL数据库,数据库中没有任何内容可以阻止用户B查看属于用户a的记录-它都是在应用程序层中编码的。 在CouchDB中,同样没有完全安全的方法来阻止用户B访问用户A编写的文档。您需要像以前一样在应用程序层中对此进行编码。 如果你在CouchDB和用户之间有一个web应用程序,你就没有问题了。当您允许CouchDB直接服务请求时,就会出现问题。 |
![]() |
4
1
对多个用户使用多个数据库有一些重要缺点:
这取决于您的用例,但我认为一个好的方法可以是:
|
![]() |
Jinmin · 如何防止匿名用户阅读couchdb? 6 年前 |
![]() |
Trevor · 查找pouchdb错误的方向 6 年前 |
![]() |
jkndrkn · 如何在CouchDB 2.0日志中查看HTTP头? 6 年前 |
![]() |
Masiar · CouchDB中的部分搜索/查找 7 年前 |
![]() |
user3740179 · 数据库的随机名称 7 年前 |
![]() |
Lokesh Jain · 从CouchDB中的数组中删除值 7 年前 |
![]() |
David J. · 使用多个斜杠将文档保存到CouchDB URL 7 年前 |