3
我有可以這樣訪問列表功能:如何在URL重寫中使用CouchDB用戶名?
_list/characters/characters_by_user?startkey=["org.couchdb.user:rodriguez"]&endkey=["org.couchdb.user:rodriguez", {}]
我試圖重寫URL,這樣你可以在一個友好的方式訪問它...
/rodriguez/characters
.. 。通過寫這條規則:
{from: '/:user/characters', to: '_list/characters/characters_by_user',
query: {
startkey: "[%22org.couchdb.user%3A:user%22]",
endkey: "[%22org.couchdb.user%3A:user%22,%20{}]"
}
}
不過,我得到這個錯誤:
error: "query_parse_error",
reason: "No rows can match your key range, reverse your start_key and end_key or set descending=true"
爲什麼查詢在完整URL中正常工作,但沒有使用重寫?
更新
我相信,這可能是使用CouchDB處理編碼的結腸(%3A)的方式中的錯誤。我正在等待郵件列表的回覆,並相應地更新此問題。
嗯......我會盡我所能來幫助診斷,但我不能確定答案。重寫過程中出現錯誤的可能性很大,無論是實際重寫還是產生了錯誤。這就是說,爲什麼這裏有冒號「{from:'/:user/characters'」。另外,你有沒有嘗試拿出這些%2f的?你在CouchDB 1.2上運行這個嗎? – Costa 2012-04-07 22:14:40
另外,也許只是嘗試?key =「org.couchdb.user:rodriguez」 – Costa 2012-04-07 22:17:19
我同意,它肯定似乎有重寫錯誤。我如何看到它重寫的內容? Chrome開發人員工具中是否有某些內容或將其輸出到控制檯的方式?冒號代表一個變量,如http://wiki.apache.org/couchdb/Rewriting_urls所示。我曾嘗試使用和不使用URL編碼,並收到相同的結果(儘管我必須使用編碼來代表org.couchdb.user中的冒號:用戶名,因爲我無法在字符串中將其轉義)。我正在使用CouchDB 1.1.1。 – 2012-04-09 01:24:25