2015-04-01 215 views
0

我有一個代碼,我正在使用貓鼬和使用架構也建立一個新的連接。連接做得很好,我也從集合中獲取屬性。從那以後,我想在我的收藏更新,並且不工作..我下面的代碼由id更新不工作在貓鼬

console.log("id : "+content._id); 
Alert.findByIdAndUpdate(content._id, { 
    $set: { 
     status: true 
    } 
}, function(error, result) { 
    console.log(result); 
    if (error) console.log(error); 
    else { 
     console.log('Alert updated'); 
    } 
}); 

它顯示警報更新,但狀態仍然爲假..

result for 1st console is 
id : 55096a5f91169c8e1673af20; 

and 2nd console is 
Alert updated 

感謝,並提前問候

+2

您可以編輯您的問題,包括你的架構和你試圖更新文檔? – JohnnyHK 2015-04-01 12:54:08

回答

1

您的代碼看起來很完美,ID雖然它是正確的,你的代碼不返回任何錯誤回報,所以,

你有沒有檢查你的模式,看看它是否包含「狀態」字段?

看起來您可以創建和編輯具有兩側不相等的模式的新文檔,應用程序和數據層。

此處瞭解詳情:https://github.com/Automattic/mongoose/issues/1060

希望我幫助。

0

您的代碼也適合我,也許可以嘗試以下方法之一?

Alert.findOne({_id : content._id}, function(error, alert) { 
    if (error) console.log(error); 
    alert.status = true; 
    alert.save(); 
}); 

或者

Alert.findOneAndUpdate({_id : content._id}, { 
     $set: { 
      status: true 
     } 
    }, function(error, result) { 
     console.log(result); 
     if (error) console.log(error); 
     else { 
      console.log('Alert updated'); 
     } 
    });