在我通过api返回之前,我想要处理从我的mongodb中搜索过的数据。
我的api请求是这样的:
.get('/users', function(req, res){
var users = [];
User.find({}, function(err, data){
if(err) res.send(err);
users = data;
}
// here I want to do some things with the users
res.json(users);
}
然而,用户未定义...... 我的猜测是代码向前运行,然后才能回复有效填写用户' 我是否正确等待变量填充以便能够使用内容? 或者它不是一个等待的混蛋,而是一个不同的错误?
答案 0 :(得分:2)
User.find({}, function(err, data){
if(err) res.send(err);
users = data;
}
上面的代码将以异步方式运行,因此您需要在结束之前获得结果。
所以试试这个:
.get('/users', function(req, res){
var users = [];
User.find({}, function(err, data){
if(err) res.send(err);
users = data;
// do some things with the users
res.json(users);
}
}