在couchdb中,我需要用以下格式表示一些数据,一个引用数组内其他文档的外部容器。
我希望将这些文档分开,因为我需要单独管理它们上的冲突。
{
"_id" : "1"'
"type" : "container",
"items" : [ "1", "2", "3"]
}
{
"_id" : "2",
"value": "a"
"type" : "item"
}
{
"_id" : "3",
"value": "b"
"type" : "item"
}
{
"_id" : "4",
"value": "c"
"type" : "item"
}
我想以下列格式输出数据视图。
{
"_id" : "1"'
"type" : "container",
"items" : [
{
"_id" : "2",
"value": "a"
"type" : "item"
},
{
"_id" : "3",
"value": "b"
"type" : "item"
},
{
"_id" : "4",
"value": "c"
"type" : "item"
}
]
}
最好的办法是什么?
答案 0 :(得分:8)
这是视图的样子
function(doc){
if(doc.items)
doc.items.forEach(function(item){
emit(doc._id,{_id:item});
})
}
现在您可以使用include_docs=true
参数查询视图,并且您应该获得所需的结果。