2

node.js アプリが特定の POST リクエストを受信したときに、単純な更新を行っています。これは私のコードです:

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: [] }

私が本当に間違っていることはありますか?

4

2 に答える 2

4

エラー メッセージを取得するには、コールバックを追加する必要があります。同様の問題があり、コールバックを追加するだけで、空のコールバックでもすべて正常に機能していました。

試す:

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');
});
于 2013-05-18T11:14:32.163 に答える