查询以使用CouchDB按键1升序和键2降序获取文档

查询以使用CouchDB按键1升序和键2降序获取文档,couchdb,Couchdb,如何在视图中按键1(升序)和键2(降序)排序文档?非常有趣的问题,我能想到的唯一答案是编写一个映射函数,它以键的形式发出一个数组,其中包含asc键和desc键的“对立面”: emit([doc.ascKey, opposite(doc.descKey)], doc); 相反的函数应该迭代desc键的字符,以计算它们的“字母相反”;为了简单起见,ASCII代码类似于以下伪代码片段: var oppositeStr = ""; for (char in str) { oppositeStr +

如何在视图中按键1(升序)和键2(降序)排序文档?

非常有趣的问题,我能想到的唯一答案是编写一个映射函数,它以键的形式发出一个数组,其中包含asc键和desc键的“对立面”:

emit([doc.ascKey, opposite(doc.descKey)], doc);
相反的函数应该迭代desc键的字符,以计算它们的“字母相反”;为了简单起见,ASCII代码类似于以下伪代码片段:

var oppositeStr = "";
for (char in str) {
  oppositeStr += chr(255 - char);
}

我的解决方案只是推测,但也可能有效!也许有人有更好的主意?

只是想澄清一下,当你说按键1和键2排序时,你的意思是“按键1排序并使用键2打破联系”,对吗?SQL中的示例->“从我的表中选择*按键1 ASC排序,按键2 DESC”