node.js - 将 Mongoose 结果推入数组
问题描述
我正在尝试从我的“Books.find”中获取结果并将其推送到我的书籍数组中。然后我想重新发送它。
我怀疑这与某种异步和范围垃圾有关。
解决方案是什么?
这是目前我的代码。
exports.timeline = function(req, res) {
var Followers = mongoose.model('Follow');
Followers.find({'follower': req.user.username}, function(err, followerResult) {
var name = [req.user.username];
var books = [];
function addName(username) {
name.push(username);
}
for(var user in followerResult) {
addName(followerResult[user]['followed']);
}
function getDataByUsername(username) {
function addBookArray(result) {
books.push(result);
return result;
}
var Books = mongoose.model('Book');
Books.find({'username': username}).exec(function (err, result) {
addBookArray(result);
});
}
for(var usernames in name) {
getDataByUsername(name[usernames]);
}
console.log(books);
res.send(books);
});
}