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”的文档运行上述代码(应该将对象推送到数组“comments”,查询标题为“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 回答
0

这是猫鼬的奇怪行为。我也有这个,因为 update() 已被弃用,所以我使用 updateOne() 代替,但它也只在添加回调函数时才有效。

于 2020-06-23T19:30:28.093 回答