2016-09-19 50 views
0

我正在嘗試使CouchDB視圖獲取集合1和集合2中的某些文檔。例如,當我有一個鍵時,可以進行如下查詢:CouchDB如何使用多個複雜鍵進行查詢

dbname/_design_doc/viewName?keys=[value1, value2, value3] 

它返回所有的文件,它找到的值爲1,2或3.我想要的是類似的東西,但對於一個複雜的關鍵。 例如,

dbname/_design_doc/viewName?keys=[[key1, key12, key13],[key21, key22]] 

其中key1x是第一個關鍵和key2x的值是第二個關鍵的值,這意味着我想獲得每一個具有key11和key21,key11和key22,KEY12文件和key21,key12和key22等。

我的看法是這樣的一個:

"twokeys": { 
     "map": "function(doc) {\n if (doc.uid && doc.hid){\n   
        emit([doc.uid, doc.hid], doc);\n }\n}" 
} 

這可能嗎?

在此先感謝

+0

答案是:是:) –

+0

真的@AlexisCôté?我試圖做到這一點,但我不能在使用ektorp的JAVA代碼。 ektorp的keys參數要求收集,我無法創建矢量集,矢量,因爲其中一個鍵是字符串,另一個是整數,忘記了該部分,對不起。 –

+0

然後這可能是你圖書館的一個限制,imma稍後再看看它。 –

回答

0
  1. 可以使用複雜的按鍵,如果你遵循this answer鍵查詢參數。

  2. 不幸的是,你不能用鍵來查詢startkey或endkey。