SailsJs出错。 TypeError:无法读取未定义

时间:2015-10-24 12:48:47

标签: javascript node.js mongodb sails.js

我正在使用sailsjs和mongodb。我收到错误“TypeError:无法读取未定义的属性'属性'。

这是模特:

UserInterest.js

module.exports = {
  attributes: {
    id: {
      type: 'integer',
      primaryKey: true
    },

    name: { type: 'string' },

    profiles: { collection: 'UserProfile', via: 'interests'}
  }
};

UserProfile.js

module.exports = {
    attributes : {
        id : {
            type : 'string',
            autoIncrement : true,
            primaryKey : true
        },

        createdAt : {
            type : 'datetime'
        },

        updatedAt : {
            type : 'datetime'
        },

        user : {
            model : 'User'
        },

        sex : {
            type : 'integer'
        },

        interests : {
            collection : "UserInterest",
            via : "profiles",
            dominant : true
        }
        //Other attributes here
    }
};

我正在尝试以这种方式加载用户个人资料:

UserProfile.findOne({user : id})
.populate("interests")
.exec(function(err, obj) {
    if (err) {
        cb(err, null);
    } else {
        cb(err, obj);
    }
});

填充函数中发生错误。为什么会这样?

1 个答案:

答案 0 :(得分:1)

在经历了这个问题的挣扎之后,我找到了答案。属性利益是重复的,帆有问题。我删除了副本,留下了集合定义。