通过另一个字段按几个键和订单数据查询CouchDB数据

时间:2012-06-09 22:57:04

标签: nosql couchdb cloudant

一般的想法,我需要按几个值选择数据并按日期排序。

我需要查询couchdb这样的SQL查询

Select * from TABLE where Val = "val1" OR Val = "val2" order by Date

所以我的地图功能看起来像

if(doc.type == 'item'){
  emit([doc.val, doc.date], doc);
}

认为它应该像

?startkey=[['val1','val2']]&endkey=[['val1','val2'],{}]

{keys: [['val1',{}],['val2',{}]]}

有可能吗?也许还有其他一些变种 - 很难解决这个问题?感谢。

1 个答案:

答案 0 :(得分:1)

这在CouchDB中是不可能的。您将必须运行两个查询(可能作为单个批量请求)并在客户端上执行最终排序(它是线性时间操作)。