当我的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是一个猫鼬模型。 (查询文档时此模型有效。)
现在的问题是,当我进行后续查询时,没有任何反应。例如,为具有“title”“aaa”的文档运行上面的代码(它应该将对象推送到数组“comments”,查询标题为“aaa”的文档会返回类似
的内容。{ _id: 51954d4663aa986aa93a734f,
title: 'aaa',
comments: [] }
我做错了什么?
答案 0 :(得分: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');
});
答案 1 :(得分:0)
这是猫鼬的奇怪行为。我也有这个原因,因为不赞成使用update(),所以我改用了updateOne(),但它也仅在添加回调函数时有效。