我正在尝试更新请求。之前的会话由另一个名为read的函数处理。我知道中间件在读取之前被调用,但是当我记录请求时。会话对象,它不反映中间件中所做的更新。
/**
* Conversation middleware
*/
exports.conversationByID = function(req, res, next, id) {
if (!mongoose.Types.ObjectId.isValid(id)) {
return res.status(400).send({
message: 'Conversation is invalid'
});
}
Conversation.findById(id).populate('user', 'displayName').populate('readers', 'displayName').exec(function(err, conversation) {
if (err) return next(err);
if (!conversation) {
return res.status(404).send({
message: 'Conversation not available'
});
}
req.conversation = conversation;
next();
});
};
您的中间件回调中的id
参数来自哪里?如果它是一个url参数(例如/conversations/:id
),它应该是req.params.id
。