2

背景:我有一个 mysql 数据库,我将转移到 couchdb 中,该数据库中有一些表、“书籍”和“用户”。我通过登录表单登录到 Web 应用程序,目前在 php 脚本中发布用户名和密码,然后登录用户并将 php 会话写入该用户的 users 表。现在,当用户请求书籍时,我 a) 确保 php 会话对用户有效,然后使用登录的用户 ID 获取用户可以查看的书籍。

问题:您将如何在 couchdb 中复制这种用户特定的记录查询?我假设 couchdb 的全部意义在于能够说http://somesite.com/couchdb/getBooks/并且 db 端点返回书籍。

也许我只需要在最后传递一个 sessionid ?http://somesite.com/couchdb/getBooks/?s=123123但是我在哪里可以获得会话?嗯。

任何谈论这个的方向或文章都会很棒。

4

1 回答 1

5

在 CouchDB 中处理特定于用户的数据实际上是一个相当复杂的话题,但我试图在这里总结一些不同的策略。

长话短说:如果您想在 CouchDB 中拥有用户私有数据(听起来像您这样做),最好的方法是拥有一个服务器端守护程序,为每个用户分配一个数据库,并且用户拥有该数据库的全部权限数据库。(这可以扩展到 > 100k 用户,所以不用担心。)然后你只需将该数据库与 PouchDB 同步。

上面的链接有一些第三方项目正是实现了这样的守护进程。还有Janus,它还没有准备好,但是一旦准备好了,它就会完成上述所有工作,并且可以很好地与 PouchDB 集成。

于 2014-05-22T21:44:24.473 回答