【发布时间】:2017-01-27 10:21:28
【问题描述】:
我正在尝试创建一个 CouchDB 视图以获取位于集合 1 和集合 2 中的一些文档。例如,当我有一个键时,我可以进行如下查询:
dbname/_design_doc/viewName?keys=[value1, value2, value3]
它会返回找到 value1、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}"
}
这可能吗?
提前致谢
【问题讨论】:
-
答案是:是的:)
-
真的是@AlexisCôté 吗?我正在尝试这样做,但我无法使用 ektorp 编写 JAVA 代码。 ektorp 的 keys 参数要求 Collection> 并且我无法创建 vector
、vector 的集合,因为其中一个键是字符串,另一个是整数,忘记了那部分,抱歉. -
那么这可能是你的库的限制,我稍后再看看。
-
看看这个answer
-
我明天会努力做到这一点@AlexisCôté 并回复您!非常感谢!
标签: java key couchdb views nosql