node.js - mongoose 通过UserId 获取用户信息,不能保存到对象
本文介绍了node.js - mongoose 通过UserId 获取用户信息,不能保存到对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
const ep = new eventproxy();
ep.fail(next);
EveryDay.getRankByTodayDate(TodayDate, ep.done('ranks'));
ep.all('ranks', function(ranks){
ranks.forEach(function(rank){
User.getUserById(rank.userId, ep.done(function(user){
rank.nickName = user.nickName; //这里不生效
console.log(rank,rank.nickName); rank.nickName 有值,但是打印出的rank没有nickName 属性
ep.emit('user');
}))
});
rank.nickName = user.nickName;
为什么直接这样赋值不生效那?这里应该怎么把查询到的用户昵称保存到数据对象里?
解决方案
原因的话就是 @夜店小新新 的答案。
目前,我使用这种方法处理的:
EveryDay.find({TodayDate}).lean()
.exec((err, ranks) => {
...
}
)
以后发现更好的答案再来补充。
这篇关于node.js - mongoose 通过UserId 获取用户信息,不能保存到对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文