我有一个视图,其值为
function(doc) {
var d = new Date(doc.created_date);
emit([d,doc.unique_id],doc);
}
这里我必须在一个查询中获得多个unique_id。所以我使用Keys = [“unique_id1”,“unique_id1”]来获取id ..但是我需要它们按日期排序并获得unique_id。如果我如上所述查询我没有从db获得任何结果。但如果我更改视图如下并查询它我正在得到结果但没有按日期排序。
function(doc) {
emit(doc.unique_id,doc);
}
有人可以建议我如何在一个查询中同时获取????
Select * from db where unique_id in {"1","3"} order by date
这就是我在couchdb中需要的东西
答案 0 :(得分:0)
你做不到。在CouchDB中,您可以通过唯一键或一组键进行查询,也可以查询范围。因此,如果您想通过一组唯一ID进行查询而无需在查询中指定其创建日期,则无法在密钥中创建创建日期,因此CouchDB无法按创建日期排序。在这种情况下,您可以使用唯一的ID-only密钥,并在客户端(即查询后)按created_date对结果进行排序。
另一种方法是你指定一个包含[unique_id,created_date]的键,但在这种情况下你不能查询[1,*]和[3,*]而不包括[2,*](你可以在客户端查询后再次过滤掉。