Mongoose:访问用户模型中的数据

时间:2016-12-22 12:09:15

标签: node.js express mongoose pug

我正在尝试访问我的用户模型中的数据(使用Express,Pug和Mongoose)。

这是我的架构:

var userSchema = mongoose.Schema({
  userData: {
    name: { type: String, required: true, unique: true },
    password: String
  },
  notes: [ String ],
  contacts: [{
    name: String,
    notes: [ String ]
  }],
  locations: [ String ]
});

这是我的pug模板文件:

each user in allUsers
  p #{user.userData.name}

My Route看起来像这样:

app.get('/', function(req, res) {
  if (app.locals.userData.name) {
    res.render('app', {
      currentUser: app.locals.userData,
      allUsers: User.find({})
    });
  } else {
    res.redirect('signup');
  }
});

哪里可能是我的错?

浏览器显示Cannot read property 'name' of undefined错误。

1 个答案:

答案 0 :(得分:1)

我不得不使用回调函数!!!

app.get('/', function(req, res) {
  User.find({}, function(err, users) {
    if (app.locals.userData.name) {
      res.render('app', {
        currentUser: app.locals.userData,
        allUsers: users
      });
    } else {
      res.redirect('signup');
    }
  });
});