Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

mongoose 通过UserId 获取用户信息,不能保存到对象

$
0
0

我参照 Cnode 源码写的项目,但不知道哪里出问题了,根据 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) => {
	...
	}
	)

Viewing all articles
Browse latest Browse all 14821

Trending Articles