如何使用从MongoDB取回的数据,而不是返回它

我想处理我从我的mongodb中取回的数据,然后再通过我的API返回。

我的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); } 

然而,用户得到了未定义…我的猜测是,代码运行前,响应回来有效地填写“用户”什么我正确的方式来等待,直到variables被填充,以便能够使用的内容? 或者这不是一个等待的母亲,而是一个不同的错误?

 User.find({}, function(err, data){ if(err) res.send(err); users = data; } 

上面的代码将asynchronous运行,所以你期待结果之前完成。

所以试试这个:

  .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); } }