couchdb视图绑定在两个数据库之间?

V_H*_*V_H 6 javascript database json couchdb nosql

假设我的沙发实例上有几个数据库(在我的例子中是用户帐户数据库和登录会话数据库)会话具有与用户数据库中的字段相对应的字段.有没有办法创建视图,或进行包含此关联的调用,还是只需要使用外部脚本?更清楚,这是一个例子.

Account db:
{
   "_id": "78555fdfdd345debf427373f9dfaeca4",
...
   "username" : "bob"
}

Sessions db:

{
   "_id": "78555fdfdd345debf427373f9dfcd7ae",
..
   "accountId": "78555fdfdd345debf427373f9dfaeca4",
   "username": "bob"
}
Run Code Online (Sandbox Code Playgroud)

我可以使用emit或类似的东西在一次通话中将所有这些信息捆绑在一起吗?

sau*_*man 5

不,但常见的解决方法是为文档设置"类型"属性.

例如...

Application db:
{
   "_id": "account.78555fdfdd345debf427373f9dfaeca4",
   "type": "account",
...
   "username" : "bob"
}

{
   "_id": "session.78555fdfdd345debf427373f9dfcd7ae",
   "type": "session",
..
   "accountId": "account.78555fdfdd345debf427373f9dfaeca4",
   "username": "bob"
}
Run Code Online (Sandbox Code Playgroud)

然后在你的意见中:

map:
    function (doc) {
        if (doc.type=='account') {
            # ...
        }
    }
Run Code Online (Sandbox Code Playgroud)