2011-05-23 82 views
5

例如:CouchDB查看URL顯示:CouchDB:{「error」:「not_found」,「reason」:「missing」} ...爲什麼?

  • 我的CouchDB託管在:example.com
  • CouchDB的數據庫名稱爲:FOO
  • 視圖名稱是:my_view

所以,當我把這些一起構造的URL,我得到:

上面的網址顯示:

{"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}" 
    } 
    } 
} 
+0

什麼是完整連續您的設計文檔的入口? – 2011-05-23 18:52:13

+0

你不能讓你的示例URL很正確......不應該是http://www.example.com/foo/_design/my_design_doc的第三個URL嗎? – 2011-05-23 21:09:39

回答

10

正確的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} 
]} 

查詢只/ _design /位置將返回文檔本身:

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

當我嘗試你的路徑時,我得到404。但是,這是有效的:http://www.example.com/foo/_design/my_view(其中「foo」是db名稱,「my view」是視圖名稱) – edt 2011-05-23 20:58:19

+0

真的嗎?根據您的設計文檔,URL http:// localhost:5984//_design/locations/_view/locations(根據您的情況調整主機:端口部分)應該有效。這正是[Couch Wiki](http://wiki.apache.org/couchdb/HTTP_view_API)告訴你使用的內容。 – 2011-05-23 21:12:32

+0

用edt的真實網址更新Matt的回答 – JasonSmith 2011-05-24 00:59:43