2012-03-05 34 views
5

不知映射功能,如果我們能傳遞變量作爲參數傳遞給CouchDB中的地圖功能。將參數傳遞給CouchDB中

實際上,我有地方座標的數據庫,我只是想的Map/Reduce是內點觸及的地方。我怎麼能這樣做?我想要類似於:

function(doc, x, y, radius) { 
    if (doc.x - x)^2 + (doc.y - y)^2 < radius^2 { 
    emit(doc._id, doc); 
    } 
} 

我們如何在CouchDb中做到這一點?

回答

4

你有3種選擇:

  1. 使用GeoCouch因爲你是一個觀點,即地圖進行地理空間查詢您的每個位置
  2. 使用list function
  3. 寫了獨立的視圖索引所有相關文檔(您可以通過查詢字符串將參數傳遞給列表函數)
+0

列表函數看起來很有前景,因爲heroku尚不支持GeoCouch。我現在就給它一個鏡頭。 – mabounassif 2012-03-05 21:22:25

+0

第三個選項工作!非常感謝! – mabounassif 2012-03-05 23:21:56