首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >couchdb:设计文档中的映射提供compilation_error

couchdb:设计文档中的映射提供compilation_error
EN

Stack Overflow用户
提问于 2012-01-27 21:56:53
回答 3查看 2.3K关注 0票数 7

我在Debian测试中使用Couchdb 1.1.1

我在数据库里有这个设计文档

代码语言:javascript
复制
{
 "_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]);})"

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-28 19:59:52

好了,在邮件列表中,我发现需要将函数包装到圆括号"()“中,因为在较新的爬行猴中发生了一些变化

映射函数如下:" map ":"( function (doc) { emit(doc._id,doc._rev);})“

票数 11
EN

Stack Overflow用户

发布于 2015-03-15 15:39:10

如果出现此错误,请注意设计文档的结构是否正确。(我收到这样一条消息,因为我的shows定义中有一个愚蠢的错误。)

另外,我不确定这是不是一个问题,但我认为函数定义中的花括号前不应该有空格。

票数 0
EN

Stack Overflow用户

发布于 2012-01-27 22:10:49

map函数内部没有return语句。你的map函数需要返回一些东西。

如果需要获取所有文档的原始转储,有一个内置功能:http://wiki.apache.org/couchdb/HTTP_Document_API#all_docs

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9034284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档