在CouchDB中从多对多关系获取文档

在CouchDB中从多对多关系获取文档,couchdb,Couchdb,我有一个由角色文档表示的多对多关系。用户可以在项目中扮演许多角色(而项目也可以有许多不同的用户)。角色本质上是{projectId,userId,roleName} 我有一个视图,它使用projectId键来显示角色,这使我能够轻松找到特定项目的所有userIds,这非常好。但是,现在我也需要关于用户的特定信息。当然,我可以迭代用户并单独查询他们或使用他们的密钥,但我想在CouchDB中有一种方法可以做到这一点,只需一个查询 如何使用我的角色视图从userId获取用户信息?在CouchDB视图中

我有一个由
角色
文档表示的多对多关系。
用户
可以在
项目
中扮演许多角色(而
项目
也可以有许多不同的用户)。
角色本质上是
{projectId,userId,roleName}

我有一个视图,它使用
projectId
键来显示角色,这使我能够轻松找到特定项目的所有
userId
s,这非常好。但是,现在我也需要关于用户的特定信息。当然,我可以迭代用户并单独查询他们或使用他们的密钥,但我想在CouchDB中有一种方法可以做到这一点,只需一个查询


如何使用我的角色视图从
userId
获取用户信息?

在CouchDB视图中,您可以发出
{“\u id”:}
作为视图值。当查询带有
include\u docs=true的视图时,CouchDB将返回带有
\u id:
的文档。这样的视图函数

function(doc) {
  if(doc.projectId && doc.userId) {
    emit(doc.projectId, {“_id”: doc.userId});
  }
}
可能就是你要找的