在一个请求里,要对两个集合进行操作,比如发一篇贴子,需要对发贴用户加分,如果加分时发生错误,而贴子又已经发了,分数不是就不准确了吗?这个时候应该怎么办?
例子如下
const Topic=require('../topic'); const User=require('../user'); exports.createTopic=function(req,res){ let topic=new Topic(req.body); topic.creator=req.session.user; topic.save(function(err, doc) { if (err) { res.sendError(err); return; } User .update({ $inc: { 'meta.score': config.score.TOPIC, 'meta.topicCount': 1 } }) .where('_id').equals(req.session.user) .exec(function(err) { if (err) { res.sendError(err); return; } res.json(doc) }); }); }