簡體   English   中英

Couchbase startkey_docid無法正常運行

[英]Couchbase startkey_docid not working as we expect it

因此,似乎startkey_docid無法正常工作,正如我們期望的那樣。

我們確實定義了一個startkey,並且可以很好地與日期配合使用,但是當與startkey_docid結合使用時,我們看不到預期的結果。 使用complexKey不可能嗎?

我們正在通過REST接口直接調用Couchbase,我們正在使用Java客戶端,但是在這里直接調用是為了消除客戶端中可能出現錯誤的可能性。

注意帶有日期數組的復雜鍵:

startkey=[[2013,11,11,23,12,0],"EVERYONE"]&startkey_docid=41070cfc-a85c-424c-9b87-fce0616c77c1&skip=1&descending=true

視圖:

function (doc, meta) 
{
  if(meta.type == "json" && doc.type == "POST" && doc.created != null) 
  {
    emit([dateToArray(doc.created), doc.visibility], null);
  }
}

注意結果中只跳過了4行是第一行。 startkey_docid實際上是中間結果,因此我們期望的是只有最后一個文檔。 為什么? 因為我們的理解是調用應該從該文檔開始,並且跳過了該文檔,僅顯示最后一行。 是否有錯誤或我們缺少的東西?

{
    total_rows: 4,
    rows: [{
        id: "6e57a775-1e96-4ac3-95c1-f2218355aa3d",
        key: [ [2013, 11, 11, 20, 29, 19], "EVERYONE"],
        value: null
    }, {
        id: "41070cfc-a85c-424c-9b87-fce0616c77c1",
        key: [ [2013, 11, 11, 20, 28, 21], "EVERYONE"],
        value: null
    }, {
        id: "a4a6cf44-8a82-494a-a2b9-f6a3ec629f17",
        key: [ [2013, 11, 8, 1, 17, 46], "EVERYONE"],
        value: null
    }]
}

這沒有正確記錄,這導致我遇到了與您類似的問題。 為了使其正常工作,您需要同時傳入最后一個文檔的docid ,並將最后一個文檔的密鑰設置為startkey 如果您每次分頁時都沒有更改開始startkey ,那么您將startkey得到相同的頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM