2016-03-01 71 views
1

我的集羣中有大約25M個文檔。我需要一次讀取1M個文檔,而沒有任何特定的標準。我沒有訪問密鑰。所以我需要創建一個視圖,該視圖將發出文檔,直到達到高達1M的計數器。使用Couchbase查看文檔的子集查看

我寫了一個Map函數,我試圖創建一個靜態變量,但JS不支持靜態變量。我不知道如何做這個操作。我寫的map函數只是返回1000個文檔而已,它充滿了錯誤。有人可以幫助我使用此功能嗎?

function (doc, meta) { 
    value = foo(); 
    if(value < 1000) 
    { 
    emit(meta.id, null); 
    }else{ 
    return;  
    } 
} 

function incrementor(){ 
    if(typeof incrementor.counter == 'undefined'){ 
     incrementor.counter = 0; 
    } 

    return ++incrementor.counter; 
} 

回答

1

閱讀文檔的子集視圖可以使用分頁來完成:http://blog.couchbase.com/pagination-couchbase map函數被調用儲存在水桶所以像這樣的計數器做法沒有意義的每個突變。如果你想拆分你的索引,你需要根據文檔的內容來做到這一點。但是你應該真的使用分頁。順便提一下,N1Ql也可以實現。

+0

是的。分頁解決了我的問題。非常感謝幫助我。 –