CouchDB视图URL显示:CouchDB:{"error":"not_found","reason":"missing"} ...为什么?

edt*_*edt 5 couchdb view

例如:

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

所以,当我把它们放在一起构建URL时,我得到:

以上网址显示:

 {"error":"not_found","reason":"missing"}
Run Code Online (Sandbox Code Playgroud)

为什么会出现这个错误?

预期结果是列出了与"my_view"视图对应的文档.

更多信息:

如果我访问http://www.example.com/foo,我会收到预期的回复:

{"db_name":"foo","...
Run Code Online (Sandbox Code Playgroud)

如果我访问http://www.example.com/foo/_design/my_view,我会收到预期的回复:

{"_id":"_design/my_view","_rev":"...
Run Code Online (Sandbox Code Playgroud)

我在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}"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 11

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

根据评论中给出的真实网址,这将是正确的网址:

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}
]}
Run Code Online (Sandbox Code Playgroud)

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

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