2016-09-19 70 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。