我在Debian测试中使用Couchdb 1.1.1
我在数据库里有这个设计文档
{
"_id": "_design/Page",
"_rev": "9-1944cdebabf20ae569eab7b534b43e67",
"views": {
"all": {
"map": "function(doc) {}"
}
},
"language": "javascript"
}但我还是能进http://localhost:5984/db_development/_design/Page/_view/all
此{"error":"compilation_error","reason":"Expression does not eval to a function. ((new String(\"function(doc) {}\")))"}
我尝试运行不同的简单map函数,在spidermonkey-bin解释器中,它们被正确加载,但在couchdb中出现相同的错误
我真的看不到,问题出在哪里……
好了,在邮件列表中,我发现需要将函数包装到圆括号"()“中,因为在较新的爬行猴中发生了一些变化
因此,映射函数如下所示:"map": "(function(doc) { emit([doc._id, doc._rev]);})"
发布于 2012-01-28 19:59:52
好了,在邮件列表中,我发现需要将函数包装到圆括号"()“中,因为在较新的爬行猴中发生了一些变化
映射函数如下:" map ":"( function (doc) { emit(doc._id,doc._rev);})“
发布于 2015-03-15 15:39:10
如果出现此错误,请注意设计文档的结构是否正确。(我收到这样一条消息,因为我的shows定义中有一个愚蠢的错误。)
另外,我不确定这是不是一个问题,但我认为函数定义中的花括号前不应该有空格。
发布于 2012-01-27 22:10:49
map函数内部没有return语句。你的map函数需要返回一些东西。
如果需要获取所有文档的原始转储,有一个内置功能:http://wiki.apache.org/couchdb/HTTP_Document_API#all_docs
https://stackoverflow.com/questions/9034284
复制相似问题