在couchdb nano视图函数中传递参数



我使用nodejs的nano-npm模块和couchdb来获取基于状态消息的文档总数,我应该能够在couchdb视图中传递该消息。

视图如下所示。

{
_id: "_design/docCount",
views: {
fileCountByStatus: {
reduce: "_count",
map:
'function (doc) {n  if(doc.status === "COMPLETE") {n    emit(doc._id, 1);n  }n}'
},
},
language: "javascript"
}

我正在使用nano的视图功能访问上述视图。

我的问题是,我是否可以使用视图功能而不是硬编码来传递文档状态(COMPLET在上述情况下(

回答我自己的问题。

一般情况下,使用以下映射函数创建状态索引:

function(doc) {
emit(doc.status, 1)
}

然后您可以在视图中查询状态的任何值

db.view('mydesigndoc', 'myview', { key: 'complete' })
// or
db.view('mydesigndoc', 'myview', { key: 'new' })