小编Sur*_*dan的帖子

如何在couchDB视图中引用其他文档(加入类似功能)

我们有一个XML数据库的CouchDB表示,我们用它来驱动基于javascript的前端来操作XML文档.基本结构是一个简单的3级层次结构.即

A - > B - > C.

A:父文档(类型A)B:父类型A C的任意数量的子文档:父类型B的任意数量的子文档

我们在CouchDB中使用以下type属性表示这3种文档类型:

例如

{
"_id":"llgc-id:433",
"_rev":"1-3760f3e01d7752a7508b047e0d094301",
"type":"A",
"label":"Top Level A document",
"logicalMap":{
    "issues":{
        "1":{
            "URL":"http://hdl.handle.net/10107/434-0",
            "FILE":"llgc-id:434"
        },
        "2":{
            "URL":"http://hdl.handle.net/10107/467-0",
            "FILE":"llgc-id:467" 
        etc...
        }
    }
}
}


{
"_id":"llgc-id:433",
"_rev":"1-3760f3e01d7752a7508b047e0d094301",
"type":"B",
"label":"a B document",
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是生成一个视图,它返回文档就像A类型一样,但是包含了来自logicalMap列表中B文档的label属性,例如

{
"_id":"llgc-id:433",
"_rev":"1-3760f3e01d7752a7508b047e0d094301",
"type":"A",
"label":"Top Level A document",
"logicalMap":{
    "issues":{
        "1":{
            "URL":"http://hdl.handle.net/10107/434-0",
            "FILE":"llgc-id:434",
            "LABEL":"a B document"
        },
        "2":{
            "URL":"http://hdl.handle.net/10107/467-0",
            "FILE":"llgc-id:467",
            "LABEL":"another B document" 
        etc...
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我正在努力探索最好的方式来执行此操作.看起来它应该相当简单!

couchdb join view

8
推荐指数
1
解决办法
8735
查看次数

标签 统计

couchdb ×1

join ×1

view ×1