Я уже назвал lean(), чтобы убедиться, что я преобразовал возвращенные данные в простой объект, но только истории [x] .authorId не добавляются как свойство к текущему объекту [x].Как изменить мои возвращенные данные из запроса Mongoose?
Может кто-нибудь объяснить, почему и обеспечить решение? Нужно ли это делать с областью видимости или что я не могу изменить объект в другом запросе?
Story.find({}).sort({created: -1}).lean().exec(function(err, stories) {
if (err) throw err;
for(var x=0; x < stories.length; x++) {
stories[x].commentsLength = stories[x].comments.length;
stories[x].created = stories[x]._id.getTimestamp();
stories[x].timeAgo = timeHandler(stories[x]);
User.find({'username': stories[x].author}).lean().exec(function(x, err, data) {
stories[x].authorId = data[0]._id;
console.log(stories[x]); // authorId is there
}.bind(this, x));
console.log(stories[x]); // authorId is not there
}
res.render('news', {message: "Homepage", data: stories});
})