2013-05-18 106 views
2

當我的Node.js應用獲得一定的POST請求我做一個簡單的更新。這是我的代碼:貓鼬 - model.update不工作

app.post('/comment', function (req,res) { 
    var params = req.body; 
    BlogPost.update({"title": params.title}, {$push: { comments: {author : params.author, content: params.content, date: new Date().toUTCString()}}}); 
    res.redirect('back'); 
}); 

其中BlogPost是貓鼬模型。 (這個模型在查詢文檔時工作)。

現在的問題是,當我做後續查詢時,什麼也沒有發生。例如,運行在上面的代碼用於與「標題」,「AAA」(這是應該的對象推到數組「評論」,查詢與標題該文件「AAA」的文件返回類似

{ _id: 51954d4663aa986aa93a734f, 
    title: 'aaa', 

    comments: [] } 

什麼我做真的錯了嗎?

+0

看起來不錯,但你不檢查錯誤或任何東西:'BlogPost.update({...},{...},函數(){執行console.log(參數)})' – robertklep

回答

4

您應該添加回調以獲取錯誤消息。 我有一個類似的問題,只是增加了回調,一切工作正常,即使有一個空的回調。

Try:

app.post('/comment', function (req,res) { 
var params = req.body; 
BlogPost.update({"title": params.title}, {$push: { comments: {author : params.author, content: params.content, date: new Date().toUTCString()}}},function(error){console.log(error);}); 
res.redirect('back'); 
}); 
+0

謝謝很多,它的工作就像一個魅力! – AbsoluteZero2A03

+0

@ AbsoluteZero2A03不客氣。 =) – Riwels