CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missin

Posted

技术标签:

【中文标题】CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missing" ... 为啥?【英文标题】:CouchDB view URL shows: CouchDB: "error":"not_found","reason":"missing" ... Why?CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missing" ... 为什么? 【发布时间】:2011-05-23 14:55:29 【问题描述】:

例如:

我的 CouchDB 托管在:example.com CouchDB 数据库名称是:foo 视图名称是:my_view

所以,当我将这些放在一起构建 URL 时,我得到:

http://www.example.com/foo/my_view

以上网址显示:

 "error":"not_found","reason":"missing"

为什么会出现这个错误?

预期结果是列出了“my_view”视图对应的文档。

更多信息:

如果我访问http://www.example.com/foo,我会得到预期的响应:

"db_name":"foo","...

如果我访问http://www.example.com/foo/_design/my_view,我会得到预期的响应:

"_id":"_design/my_view","_rev":"...

我在 Windows7/Chrome 上使用 CouchDB v1.0.2

我的设计文档的全部内容(显示的是实际值,而不是 example.com)


  "_id":"_design/locations",
  "_rev":"1-0f7fbdd2f5b4213591e171b6e546af3a",
  "language":"javascript",
  "views": 
    "locations": 
      "map":"function(doc) \n  emit(doc.type === \"location\" && doc.name);\n"
    
  

【问题讨论】:

你的设计文档的全部内容是什么? 你的示例 URL 一定不能完全正确......第三个不应该是example.com/foo/_design/my_design_doc吗? 【参考方案1】:

正确的 URL 路径是/<db>/_design/<design>/_view/<view>

根据您在 cmets 中给出的真实 URL,这将是正确的 URL:

http://burritohunter.com/couchdb/burritohunter/_design/locations/_view/locations

确实它返回了预期的视图:

"total_rows":2,"offset":0,"rows":[
"id":"86bb31389b78aa5921f7a2f5c0000915","key":"Billy's","value":null,
"id":"jimmys","key":"Jimmy's","value":null
]

仅查询 /_design/locations 将返回文档本身:

"_id":"_design/locations","_rev":"1-0f7fbdd2f5b4213591e171b6e546af3a","language":"javascript","views":"locations":"map":"function(doc) \n  emit(doc.type === \"location\" && doc.name);\n"

【讨论】:

我在尝试你的路径时得到 404。但是,这可行:example.com/foo/_design/my_view(其中“foo”是数据库名称,“my view”是视图名称) 真的吗?给定您的设计文档,URL localhost:5984/<dbname>/_design/locations/_view/locations(调整主机:端口部分以适应您的情况)应该可以工作。这正是Couch Wiki 告诉您使用的内容。 用 edt 的真实网址更新了 Matt 的答案

以上是关于CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missin的主要内容,如果未能解决你的问题,请参考以下文章

查看couchdb数据库

CouchDB 中的短键和唯一键

CouchDB 重写规则以更新处理程序导致 405 方法不允许

CouchDB:在 CouchApp 中通过 http 请求获取服务器时间

CouchDB 查看排序规则,一键加入,搜索其他值

CouchDb - 防止 couchDb 提供视图