【问题标题】:Getting document from many-to-many relationship in CouchDB从 CouchDB 中的多对多关系获取文档
【发布时间】:2014-12-12 05:47:42
【问题描述】:

我有一个由role 文档表示的多对多关系。 userproject 中可以有多个角色(project 也可以有很多不同的用户)。 role 本质上是{projectId, userId, roleName}

我有一个使用projectId 键发出角色的视图,这使我可以轻松找到特定项目的所有userIds,这很棒。但是,现在我也需要有关用户的特定信息。我当然可以遍历用户并单独查询他们或使用他们的键,但我想在 CouchDB 中有一种方法可以做到这一点,只需一个查询。

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

【问题讨论】:

    标签: couchdb


    【解决方案1】:

    在 CouchDB 视图中,您可以发出 {“_id”: <userId>} 作为视图值。当使用include_docs=true 查询视图时,CouchDB 将返回带有_id: <userId> 的文档。所以像

    这样的视图函数
    function(doc) {
      if(doc.projectId && doc.userId) {
        emit(doc.projectId, {“_id”: doc.userId});
      }
    }
    

    可能就是你要找的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多