Nosql 按多个键查询CouchDB数据,按另一个字段查询订单数据

Nosql 按多个键查询CouchDB数据,按另一个字段查询订单数据,nosql,couchdb,cloudant,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',

总体思路是,我需要按几个值选择数据,并按日期排序

我需要查询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'],{}]


可能吗?也许还存在一些其他的变量-热来解决这个问题?谢谢。

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

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