在couchdb的ViewDefinition方法中添加map / reduce对的reduce部分的Python语法是什么?

时间:2013-05-21 07:24:08

标签: python couchdb

我想使用Python中的ViewDefinition类为我的couchdb数据库添加一个永久视图,而不是使用Futon来定义视图。

我已经成功添加了map / reduce对的地图部分,如下所示:

postbyid = ViewDefinition(‘application’,‘postbyid’, ‘function(doc) {if (doc.type==”posts”) {emit(doc.id, doc)};}’)

postbyid.sync(database)

但我无法弄清楚添加map / reduce对的reduce部分的语法。

例如,如果我的预期视图看起来像(从被褥复制):

"views": {
   "postbyid": {
       "map": "function(doc) {\n\tif (doc.type==\"post\") {\n  emit(doc.id, doc)};\n}",
       "reduce": "_count"

如何在ViewDefinition类中编写map / reduce对的reduce部分?

或者,我是在正确的轨道上还是有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

输入reduce函数作为第四个参数。我通过查看couchdb库代码找到了这个,因为文档和示例有点稀疏。

postbyid = ViewDefinition(‘application’,‘postbyid’, ‘function(doc) {if (doc.type==”posts”) {emit(doc.id, doc)};}’ , '_count')

希望这有助于其他人。