Scala Couchbase视图:按键排序

Scala Couchbase视图:按键排序,scala,couchbase,couchbase-view,Scala,Couchbase,Couchbase View,我使用的是Couchbase 3.0,我有一个用例,我想执行排序,但当我通过Couchbase进行cam时,它不提供值排序,而是提供键排序,但当我使用降序(true)时,它会返回空列表。另一方面,如果我只是简单地使用它,而没有降序,那么它会给我所有相关的文档 我的地图功能是: function (doc, meta) { emit([meta.id,doc.latest.sortData],null); } } 现在,我的用例是,我想对meta.id执行匹配查询,然后对所有匹配的用例对数据

我使用的是Couchbase 3.0,我有一个用例,我想执行排序,但当我通过Couchbase进行cam时,它不提供值排序,而是提供键排序,但当我使用降序(true)时,它会返回空列表。另一方面,如果我只是简单地使用它,而没有降序,那么它会给我所有相关的文档

我的地图功能是:

function (doc, meta) {
  emit([meta.id,doc.latest.sortData],null);
}
}
现在,我的用例是,我想对meta.id执行匹配查询,然后对所有匹配的用例对数据进行排序,然后找出最大值

我使用的代码是:

ViewQuery.from(DesignDocName, viewName).startKey(JsonArray.from(write(List("something","")))).descending(true).limit(5).stale(Stale.FALSE))
如果删除降序参数,则会得到相关的行,但它们没有排序。所以,你能不能给我一个方法,可以做到这一点

谢谢你的帮助


谢谢

我在阅读Couchbase的文档时偶然发现了这句话:

因为选择是在对视图结果排序之后进行的,如果 将结果配置为按降序排序,然后 使用键范围选择信息,然后还必须反转 开始键和结束键参数


请参见此处:

不使用
降序
是否仅获得所需的结果?您是否应该使用某种形式的
endKey
来限制单个
meta.id
?如果我使用endKey=something,那么它也会给我一个空列表,我们认为它需要一个map和reduce来完成这一点。你能提供一些样本数据和预期结果吗?有了这些,我们可以帮你找到答案。我们需要在emit语句中同时包含一个键和一个值。