2013-10-14 24 views
0

要查詢您可以發送在訪問沙發DB:的查詢參數編程

主機的風格HTTP GET請求沙發DB數據庫:?5984/DB/_design/some_view/_view /廠景鍵=「FOO 「

要叫廠景簡單來看它,我可以創建地圖

function(doc){ 
    emit(doc.bar,doc); 
} 

這將產生鍵值對的列表,其中doc.bar是密鑰和文檔是值。在這種情況下,它是數據庫的一個子集,其中doc.bar =「foo」

看起來emit函數將其參數再次與通過URL請求傳遞的關鍵參數進行比較。

我怎麼能從URL中獲取密鑰的值,並在它傳遞給它之前做檢查?

回答

1

MapReduce不能像這樣工作。

對於每個對象的每個查詢都不會調用映射(和減少)函數。他們被調用每個更新的對象(在查詢時間)。

這意味着,只要「文檔」(aka對象)沒有改變,發送的鍵和值就會保存在索引中。緩存管理是MapReduce如此高效的原因。

換句話說,不要將索引視爲查詢結果,而應視爲對所有可能結果的預期。

在文本框中進一步解釋MapReduce幾乎是不可能的:我建議你關注教程和視頻。

雖然你已經明白的MapReduce的基礎知識,你將學習如何使用CouchDB query the index(與key,或startkeyendkey),以及如何format the response(含自定義參數如果需要的話)。

+0

你說得對。而且我從你發佈的信息來源中瞭解到。這本與官方維基配對的書是迄今爲止我發現的學習沙發的最佳資源。 –