如何在MongoDB findOne之后呈现页面并保存(异步)?

时间:2016-02-11 22:26:17

标签: 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('page1', {
      user : req.user
      success: req.flash('success'),
    });
  });
});

我在Mongo查询和保存完成后呈现页面时遇到问题。

这有一个优雅的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您只需在回调中添加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'),
});
  });
});