2017-08-06 20 views
0

所以我有這個API方法空錯誤從findByIdAndUpdate

{'_id': mongo.ObjectId(req.params.id)} 

運行時印有console.log(req.params.id);的ID是用戶的在數據庫中。

但也打印是error: null

無法弄清楚,謝謝埃德。

+1

那麼它是如何失敗?有錯誤嗎? – jsalonen

+0

它通過但它無法找到用戶,因此不會更新它。 –

+1

你並沒有用'if(err)'語句來包圍'console.log('error:',err)'。這樣,錯誤行總是打印。即使沒有錯誤。 – David

回答

1

嘗試通過簡單的物體只是你要設置爲findByIdAndUpdate領域:

User.findByIdAndUpdate(req.params.id, {circleAlerts: alerts}, function(err, user) { 

有效地轉變成以下更新操作:

$set: { circleAlerts: alerts }} 
-1

你沒有指定如何更新該文件,只是傳遞新的對象。試用

User.findByIdAndUpdate({_id: req.params.id}, {$set: userTemp}, function(err, user){ 
    console.log("error:",err); 
    res.send(user); 
}); 
+0

我想你需要調用'userTemp.toObject()'。另請注意,這會更新用戶文檔中的所有字段,而不僅僅是'circleAlerts'。 – jsalonen

相關問題