【发布时间】:2011-03-16 12:21:16
【问题描述】:
我对 CouchDB 还是很陌生,但在使用整个 MapReduce 查询数据的方式时,我仍然有一些问题......
继续使用传统的“博客”示例,假设我有两种类型的文档:post 和 comment...每个评论文档都有一个 post_id 字段...
有没有一种方法可以让我获得一个帖子列表,其中包含每个帖子的 cmets 数量,只需 1 个查询?假设我想显示一个帖子标题列表,其中包含每个帖子的 cmets 数量,如下所示:
My First Post: 4 comments
My Second Post: 6 comments
....
我知道我可以做到以下几点:
function(doc) {
if(doc.type == "comment") {
emit(doc.post_id, 1);
}
}
然后像这样减少它:
function (key, values, rereduce) {
return sum(values);
}
它为我提供了每个博客帖子 ID 的列表,以及每个帖子的 cmets 数量。但是我需要单独获取博客文章的标题,因为我现在唯一拥有的是他们的 id...
那么,有没有一种方法可以通过仅执行 1 次查询来检索每个博客文章标题的列表以及每个文章的 cmets 数量?
【问题讨论】:
标签: couchdb