Node.js 如何在MongoDB findOne和save(异步)之后呈现页面?
我的问题涉及以下代码:Node.js 如何在MongoDB findOne和save(异步)之后呈现页面?,node.js,mongodb,asynchronous,Node.js,Mongodb,Asynchronous,我的问题涉及以下代码: DB.findOne({ '_id' : req.user._id }, function(err, user) { user.count+=1; user.save(function(err) { if (err) req.flash('error', err.message); done(err, user); req.flash('success', 'count incremented'); res.render('page
DB.findOne({ '_id' : req.user._id }, function(err, user) {
user.count+=1;
user.save(function(err) {
if (err) req.flash('error', err.message);
done(err, user);
req.flash('success', 'count incremented');
res.render('page1', {
user : req.user
success: req.flash('success'),
});
});
});
我在Mongo查询和保存完成后呈现页面时遇到问题
有一个优雅的解决方案吗?您只需在回调中添加
rend
函数即可
DB.findOne({ '_id' : req.user._id }, function(err, user) {
user.count+=1;
user.save(function(err) {
if (err) req.flash('error', err.message);
done(err, user);
req.flash('success', 'count incremented');
res.render('page1', {
user : user
success: req.flash('success'),
});
});
});
看看你为用户名选择了什么,但你无法找出你在这里做错了什么。真正地也。坏模式。更好:
DB.findByIdAndUpdate(req.user.\u id,{“$inc”:{“count”:1},{“new”:true},函数(err,user){//使用修改过的用户})
新的mongoose版本使用承诺,我建议使用它。可以帮你避免回电话谢谢你的建议。我已经试过了,但我得到了错误:当我这样做时,无法设置发送后的标题。
。我已经试过了,同样的错误,但这次,页面根本不呈现。