0
我認爲這是一個couchrest的問題,但似乎是一個更深的內部Ruby問題。用下面的CouchDB視圖鍵/值:couchrest/open-uri返回空行的鍵在couchdb視圖
...
{"key":["Document-2458","MethodID","286"],"value":1},
{"key":["Document-2458","MethodID","287"],"value":1},
{"key":["Document-2458","MethodID","288"],"value":1},
{"key":["Document-2458","MethodID","92"],"value":1},
...
如果我問的觀點是這樣的:
conn_str = 'http://127.0.0.1:5984/portal_development/_design/all_data_values/_view/view1?group=true'
key = '["Document-2458","MethodID","287"]'
result = JSON.parse(open(conn_str + "&key=" + CGI.escape(key)).read)
puts result
我得到這樣的結果:
{"rows"=>[{"key"=>["Document-2458", "MethodID", "287"], "value"=>1}]}
但是,如果我這樣做:
conn_str2 = 'http://127.0.0.1:5984/portal_development/_design/all_data_values/_view/view1?group=true'
key = '["Document-' + "2485" + '","MethodID","287"]'
result = JSON.parse(open(conn_str2 + "&key=" + CGI.escape(key)).read)
puts result
我得到一個空的結果:
{"rows"=>[]}
我不能爲我的生命弄清楚爲什麼......我甚至使出開裂開放Wireshark的,看這兩個查詢在電線上。數據包的數據部分中的字節是相同的(具有url和params的東西)。我確認couchdb確實發回了第一個非空數據,第二個空數據。 CouchDB的甚至顯示在日誌中相同的查詢:
[info] [<0.19053.0>] 127.0.0.1 - - 'GET' /portal_development/_design/all_data_values/_view/view1?group=true&key=%5B%22Document-2458%22%2C%22MethodID%22%2C%22287%22%5D 200
[info] [<0.19055.0>] 127.0.0.1 - - 'GET' /portal_development/_design/all_data_values/_view/view1?group=true&key=%5B%22Document-2485%22%2C%22MethodID%22%2C%22287%22%5D 200
的問題是每當我Concat的字符串,而不是硬編碼它,甚至想到得到的字符串是相同的。但我不知道爲什麼。思考?
啊,非常感謝。不能相信我錯過了這一點。幫助有另一組眼睛(也許有些睡覺:))。 – 2013-03-26 13:09:20
編碼獨奏:)的問題......總是發生。 – Simon 2013-03-26 18:35:37