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

y53ybaqx  于 2022-12-09  发布在  CouchDB
关注(0)|答案(1)|浏览(118)

我正在使用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的view功能访问上述视图。
我的问题是,我是否可以使用view函数而不是硬编码来传递文档状态(在上面的例子中为***COMPLETE***)

0ve6wy6x

0ve6wy6x1#

回答我自己的问题。
一般情况是使用map函数创建状态索引,如下所示:

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

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

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

相关问题