Keystone js - populate相关字段显示为未定义

时间:2016-02-21 03:13:35

标签: node.js asynchronous mongoose keystonejs mongoose-populate

每个应用程序与用户具有1对1的关系。每次旅行都有n个应用程序。

以下代码用于填写所有旅行的应用程序中的所有用户(学生)数据:

view.on('init', function(next) {
    Trip.model.find()
    .exec(function(err, trips){
        keystone.populateRelated(trips, 'students[user]', function(err) {
            locals.trips = trips;
            next();
        });
    });

});

以下是Trips与Applications(StudentApp)的关系:

Trip.relationship({ ref: 'StudentApp', refPath: 'finalTrip', path: 'students' });

现在在前端,我可以打印用户的字符串化JSON:

each trip in trips
  each app in trip.students
      p=app.user

但是,当我尝试访问某个字段,例如app.user._id时,我收到以下错误:

Cannot read property '_id' of undefined

我觉得这是一个异步问题,但我无法解释如何解决这个问题。

非常感谢帮助。感谢。

0 个答案:

没有答案