【发布时间】:2015-09-02 11:12:37
【问题描述】:
我正在使用 Couchbase 3.0,并且我有一个我想要执行排序的用例,但是当我通过 couchbase 拍摄时,它不提供对值的排序,但它提供对键的排序,但是当我使用降序(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))
如果我删除了 descending 参数,那么我会得到相关的行,但它们没有排序。那么您能否提供一种方法来完成此操作。
任何帮助表示赞赏
谢谢!
【问题讨论】:
-
没有
descending,你只得到想要的结果吗?你不应该使用某种形式的endKey来限制单个meta.id吗? -
如果我使用 endKey=something 那么它也给了我一个空列表
-
我们认为这需要 map 和 reduce 才能完成。您能否提供一些示例数据和预期结果?有了它,我们可以帮助您解决问题。我们将在您的 emit 语句中同时需要一个键和一个值。
标签: scala couchbase couchbase-view