首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >临时视图有效,/mydb/_design/mydesigndoc/_ view /myview无效。为什么?

临时视图有效,/mydb/_design/mydesigndoc/_ view /myview无效。为什么?
EN

Stack Overflow用户
提问于 2013-08-06 00:57:49
回答 1查看 69关注 0票数 1

嗨!

一般的web开发新手,特别是couchdb。

现在,我试着理解如何调用视图。我生成了相当简单的文档,并通过基于Simplest possible form found on Kan.so的应用程序提交到我的数据库中,我在Futon中尝试了不同的视图。一切都好。然后,我尝试在设计文档中创建一个视图,并从代码中调用。无济于事。

即使是像下面这样的简单视图在临时视图中也是正确的:

代码语言:javascript
复制
function(doc) {
if (doc.type == 'person') {
    emit(doc._id, doc);
   }
};

但是像这样放入lib/views.js-file (只添加了exports.map_type = ):

代码语言:javascript
复制
exports.map_type = function(doc) {
if (doc.type == 'person') {
    emit(doc._id, doc);
   }
};

即使从浏览器中的地址字段调用也不起作用,如下所示:

代码语言:javascript
复制
http://localhost:5984/simplestpossibleform/_design/my_form/_view/map_type

结果如下:

代码语言:javascript
复制
{"error":"unknown_error","reason":"function_clause"}

因此,function子句中出现了一些错误。好吧,我看不出来。代码是从Futons临时视图复制粘贴的。当我从下拉列表中尝试视图时,它在执行从设计文档到Futon works perfect中的临时视图的剪切和粘贴时出错。也许还有其他问题,只是找不到答案。

有人能帮帮我吗?

(运行在couchdb 1.2,Kanso 0.3.1上)

EN

回答 1

Stack Overflow用户

发布于 2013-08-06 15:00:14

我又一次回答了我自己的问题。再说一次,这是非常基础的。

所以,如果我想让couchdb为我view一些东西,我必须告诉它是map还是reduce的问题。我没有。这里有一个简单的(和尴尬的)解决方案:

代码语言:javascript
复制
exports.map_type = {
map: function(doc) {
    if (doc.type == 'person') {
        emit(doc._id, doc);
    }
  }
};

无论如何,我已经从我的错误投资中吸取了教训。我希望其他人也能使用我的漫游..

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

https://stackoverflow.com/questions/18063571

复制
相关文章

相似问题

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