2013-03-08 54 views
3

我正在使用couchbase來保存對象。Couchbase startkey作爲文字值

文檔的關鍵是這樣的

"xxxx_someRandomValue" 

例如,我可以有這個按鍵

aaaa_1 
aaaa_2 
aaab_1 
aaab_2 

我想提出一個觀點,這應該返回我該鍵的所有文件從字面上的「aaaa」開始。

但是,如果我指定startKey =「aaaa」,它也會爲我找到「aaab」,因爲它將它以unicode值進行比較。

我可以強制視圖只返回關鍵字以文字「aaaa_」開頭的文檔嗎?

回答

0

試試這個

startkey=aaaa&endkey=aaab 
+0

它沒有找到任何東西,因爲沒有按鍵結束「aaab」。 – Catalin 2013-03-08 15:26:56

2

找到了解決辦法:

若要作爲前綴,這應該工作

startkey="aaaa"&endkey="aaaa\u02ad" 

documentation

0

的API startKey(final String KEY)返回所有的,它的鍵(文件名)比KEY的Unicode值大於或等於jsons。

API endKey(final String KEY)返回鍵(文檔名)小於KEY的Unicode值的所有jsons。

所以在你的情況下startkey =「aaaa」& endkey =「aaab」(如avsej建議)應該給你想要的結果。

所以常識說API的endKey是關於比較鍵的結尾,但它是錯誤的。