我想使用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部分?
或者,我是在正确的轨道上还是有更好的方法来做到这一点?
答案 0 :(得分:1)
输入reduce函数作为第四个参数。我通过查看couchdb库代码找到了这个,因为文档和示例有点稀疏。
postbyid = ViewDefinition(‘application’,‘postbyid’, ‘function(doc) {if (doc.type==”posts”) {emit(doc.id, doc)};}’ , '_count')
希望这有助于其他人。