2014-12-03 57 views
1

我有一個由role文檔表示的多對多關係。 A user可以在project中有許多角色(並且project也可以具有許多不同的用戶)。一個role基本上是{projectId, userId, roleName}從CouchDB中的多對多關係獲取文檔

我發出與projectId鑰匙,讓我很容易地找到所有userId S的特定項目,這是偉大的角色的視圖。不過,現在我也需要關於用戶的具體信息。我當然可以迭代用戶並單獨查詢它們或使用它們的密鑰,但我想有一種方法可以在只有一個查詢的情況下在CouchDB中執行此操作。

如何從我的角色視圖中獲取userId的用戶信息?

回答

2

在CouchDB視圖中,您可以發出{「_id」: <userId>}作爲視圖值。當用include_docs=true查詢視圖時,CouchDB將返回文檔_id: <userId>。所以一個查看功能,如

function(doc) { 
    if(doc.projectId && doc.userId) { 
    emit(doc.projectId, {「_id」: doc.userId}); 
    } 
} 

可能是你在找什麼。

相關問題