2013-11-10 103 views
7

沒有一個關鍵的參數,認爲正常工作CouchDB的查詢視圖與主要參數

$curl "http://127.0.0.1:5984/music/_design/albums/_view/by_release_date"

{"total_rows":311,"offset":0,"rows":[ 
{"id":"a4327d0718d3b1e227df7124a99a7fc3","key":"1991-12-22","value":{"by":"張楚","title":"黑月亮"}}, 
{"id":"a4327d0718d3b1e227df7124a99a3ac5","key":"unknown","value":{"by":"鄭鈞","title":"鄭鈞:赤裸裸"}}, 

,但是當用鑰匙,我得到了無論是不好的請求響應或空的結果。爲什麼?

$curl "http://127.0.0.1:5984/music/_design/albums/_view/by_release_date?key=unknown" { 「錯誤」: 「BAD_REQUEST」, 「理由」: 「invalid_json」}

$curl "http://127.0.0.1:5984/music/_design/albums/_view/by_release_date?key=1993" { 「TOTAL_ROWS」:311, 「偏移」:0, 「行」:[

]}

地圖功能是:

map 
function(doc) { 
    key = doc.release_date 
    value = {by: doc.author , title: doc.title} 
    emit(key, value); 
} 

回答

32

的關鍵是一個字符串,因此你需要包括" = %22,例如http://127.0.0.1:5984/music/_design/albums/_view/by_release_date?key=%221993%22

+0

謝謝丹尼爾,它的工作原理。然而,這對我來說很奇怪。即使沒有引用,couchdb應該能夠以字符串的形式獲取參數。對? – pierrotlefou

+1

沒有。它需要與JSON兼容http://wiki.apache.org/couchdb/HTTP_view_API – Daniel

+6

如果它正在工作,並且您對該答案感到滿意,請隨時標記爲這樣;-) – Daniel