0

我正在使用 Couchdb 1.6.1。我有一个展示里面的test设计。

{
   "select": {
       "map": "function(a){emit(null,a._id)}"
   }
}

我正在使用NanoNode 模块与数据库进行交互。当我在下面运行 js 文件时,{ Error: Expression does not eval to a function. ([object Object])会返回此错误消息。

this.database.show('test', 'select', 35435156453, function (error, body) {
  if(error) {
      console.log(error);
  }
  else{
      console.log(body);
  }
});

我尝试用括号括起函数,如下所示。那没有用

{
   "select": {
       "map": "(function(a){emit(null,a._id)})"
   }
}

为什么我会收到此错误?

4

1 回答 1

1

所以首先,你使用的是一个显示函数,就好像它是一个视图函数(这是完全不同的)。

如果您真的想使用显示“功能”,那么我建议您查看此文档。Show 函数用于以 HTML 格式或您需要的任何格式返回数据。您通常会像这样定义一个 show 函数:

{
    "select":"function(doc,req){return 'Return your stuff here.'}"
}

您提供给我们的功能是在视图中使用的映射功能。有关更多文档,请参阅此链接。如果是这种情况,您只需要使用this.database.view()我猜。

于 2016-09-11T15:47:12.853 回答