2015-09-02 45 views
1

我正在使用Couchbase 3.0,我有一個用例,我想要執行排序,但是由於我通過couchbase不提供對值進行排序,但它提供了按鍵排序,但正如我使用的降序(真)它返回我的空列表。另一方面,如果我只是簡單地使用它而不下降,那麼它會給我所有相關的文檔。Couchbase視圖:按鍵排序

我的地圖功能是:

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)) 

如果我刪除下降參數上,然後我得到的相關行,但它們沒有排序。所以,請你給我提供一個可以做到的方法。

任何幫助表示讚賞

謝謝!

+0

沒有'descending'你** **只得到想要的結果?你不應該使用某種形式的'endKey'來限制一個'meta.id'嗎? –

+0

如果我使用endKey = something,那麼它也會給我一個空的列表 –

+0

我們認爲它需要map和reduce才能完成此操作。你能提供一些樣本數據和預期結果嗎?有了這個,我們可以幫你弄明白。我們將在您的emit語句中同時需要一個鍵和一個值。 –

回答