【发布时间】:2016-02-12 06:56:55
【问题描述】:
我的问题涉及以下代码:
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 查询和保存完成后呈现页面时遇到问题。
有没有优雅的解决方案?
【问题讨论】:
-
看看你为用户名选择了什么,但你无法确定你在这里做错了什么。真的吗?还。模式不好。更好:
DB.findByIdAndUpdate(req.user._id,{ "$inc": { "count": 1 }},{ "new": true },function(err,user) { // work with modified user }) -
新的 mongoose 版本使用了 Promise,我建议使用它。可以让你免于回调 H
标签: node.js mongodb asynchronous