如何在CouchDB中加入SUM()?

时间:2019-04-10 19:27:32

标签: couchdb

我想使用CouchDB和链接的文档输出以下样式表:

+----------------+------------+--------------------+
|     Title      |    Date    | Number of Comments |
+----------------+------------+--------------------+
| Hello World    | 2000-01-01 |                301 |
| Next Question? | 1999-03-04 |                 11 |
| Final Post     | 1992-04-01 |                 64 |
+----------------+------------+--------------------+

我的帖子看起来像这样:

{ _id : 'hello-world', title : 'Hello World', date : '2000-01-01', type : 'post' }

并发表评论:

{ _id : 'some-comment', title : 'Great post!', postid: 'hello-world', type : 'comment' }
{ _id : 'some-comment2', title : 'Poor quality', postid: 'final-post', type : 'comment' }

我该如何完成?我宁愿使用单个map / reduce。

1 个答案:

答案 0 :(得分:0)

我要自己回答这个问题,以防其他人有这个问题。我认为我的误解来自于我对SQL的习惯。

基本上,我的选择是:

  1. 创建一个设计文档视图(comments-by-post),该视图将给我post._id作为键以及该帖子的注释数。然后,我可以将其与通过芒果语言查询或使用我的编程语言的其他视图获得的帖子拼接在一起。
  2. 或者,也许更正确,我可以在post对象上创建一个名为numberOfComments的属性,并在有人发表评论时对其进行更新。从SQL的角度来看,这是错误的,但是我相信文档数据库的灵活性使其适用于此。

我选择从#2开始并尝试#2。