2012-06-11 33 views
1

我的目標是創建一個映射功能,這樣MongoDB中的MapReduce返回,因爲減號楠

map = function() { var key = {key:this.name-1}; emit(key, {count:1}); } 

我傳遞一個java代碼參數「名稱-1」。但是mongo把它當作「名字減1」。所以鍵變成和整數,所以在地圖減少,我得到NaN問題。

的地圖居然是這樣的

map = function() { var key = {key:this.name - 1}; emit(key, {count:1}); } 

如何克服這個問題?

+0

-1如果不是減法的目的是什麼? –

+0

顯然,這是一個關鍵的名字。 –

+0

在變量名稱中不允許使用虛線在javascript變量中,請參閱[this thread](http://stackoverflow.com/questions/5516106/are-dashes-allowed-in-javascript-variable-names)。這似乎是最簡單的方法解決錯誤,它只是重命名屬性名稱是沒有破折號。 –

回答

1

Phew終於這個工程。

map = function() { var key = {key:this["name-1"]}; emit(key, {count:1}); }