【发布时间】:2013-08-25 13:04:47
【问题描述】:
我有以下代码:
server.use(function(req, res, next) {
users_db.set(req.user, function(err) { // async call to mongodb
if (err) {
console.error(err);
}
});
}
return next();
});
server.get('/', function(req, res) {
req.user.active = true; // this is a new field in user object
res.send(req.user);
}
});
所以,如您所见,当调用 users_db.set() 时,req.user 没有 active=true 字段。它仅被插入到server.get() 函数中。
由于调用的异步性质,user.active = true 是否有可能在数据库中注册?
【问题讨论】:
-
可能是的,但不能保证。你想做什么?中间件可能是错误的工具。
标签: javascript node.js mongodb asynchronous