我有role
个文档代表的多对多关系。 user
可以在project
中包含多个角色(而project
可能也有许多不同的用户)。 role
基本上是{projectId, userId, roleName}
我有一个使用projectId
键发出角色的视图,这使我可以轻松找到特定项目的所有userId
,这很棒。但是,现在我也需要有关用户的具体信息。我当然可以迭代用户并单独查询或使用他们的密钥,但我想有一种方法可以在只有一个查询的CouchDB中执行此操作。
如何通过我的角色视图从userId
获取用户信息?
答案 0 :(得分:2)
在CouchDB视图中,您可以发出{“_id”: <userId>}
作为视图值。使用include_docs=true
查询视图时,CouchDB将返回带有_id: <userId>
的文档。所以像
function(doc) {
if(doc.projectId && doc.userId) {
emit(doc.projectId, {“_id”: doc.userId});
}
}
可能就是你要找的东西。