我正在尝试学习CouchDB。有没有办法在show函数中使用列表函数,反之亦然?例如,我可以调用一些列表函数来在其show函数中呈现文档吗?或者如果列表函数中有id,则调用show(id)来呈现列表?
答案 0 :(得分:1)
截至目前,我不相信有直接的方法可以这样做。
但是,您可以通过CommonJS modules重复使用代码(包括模板)。虽然您无法通过_list
功能拨打_show
,但您可以模拟相反的情况,并使用_show
中_list
的相同模板/代码响应。
答案 1 :(得分:1)
我相信您要做的是将子实体与其父实体一起呈现。这可以通过让view
以特定顺序将父级和子级传递给list
函数来实现。
example中有一个The Definitive Guide用于具有多个父实体的场景,每个实体都有子实体。对于只有一个父项的简单情况,view
可能会发出父实体,后跟其子项,list
函数可能会出现以下行:
parent_entity = getRow();
/* ... make parent_repr ... */
send(parent_repr);
while (child_entity = getRow()) {
/* ... make child_repr ... */
send(child_repr);
}
因此,您不必为父级提供单独的show
函数。