2016-07-29 50 views
0

我想在要更新的字段是數字類型的特定記錄上做一個簡單的upsert操作。 我用它記錄的ID,只需+1數場取記錄,並再次將其保存,但由於某些原因,它不會增加/更新從日誌中看到使用strongloop的簡單的mongo對象upsert

的代碼是:

customer.findById(customerObject.id, function(err, objectResult){ 

    console.log(objectResult.imageIndex); 

    if(!objectResult.imageIndex){ 
     objectResult.imageIndex = 1; 
    } 
    else{ 
     var index = objectResult.imageIndex; 
     objectResult.imageIndex = index++; 
     console.log(objectResult.imageIndex); 
    } 

    customer.upsert(objectResult, function(err, response){}); 
}) 

這兩個console.log會顯示相同的值..爲什麼不會增加和更新,任何錯誤的代碼?

+0

當您登錄'typeof運算(objectResult.imageIndex)您能得到什麼「? –

+0

它的打印'號碼' – Firdous

回答

1

的問題是這樣的語句:

objectResult.imageIndex = index++; 

這是因爲指數++首先做的任務,然後將指數的值。

它應該是:

objectResult.imageIndex = ++index; 

objectResult.imageIndex = index + 1; 
+1

好的趕上!我也發現了這個問題後才發現它:) – Firdous