没有评估沙发数据库中的函数错误

时间:2016-09-11 07:49:44

标签: javascript couchdb couchdb-nano

我正在使用Couchdb 1.6.1。我在test设计中有一个节目。

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

我使用Nano节点模块与数据库进行交互。当我在下面运行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)})"
   }
}

为什么我收到此错误?

1 个答案:

答案 0 :(得分:1)

首先,您正在使用show函数,就好像它是一个视图函数(完全不同)。

如果您真的想使用show" function",那么我建议您查看this documentation. Show函数用于将数据作为HTML或您需要的任何格式返回。您通常会定义一个这样的show函数:

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

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