我正在使用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);
}
});
填充函数中发生错误。为什么会这样?
答案 0 :(得分:1)
在经历了这个问题的挣扎之后,我找到了答案。属性利益是重复的,帆有问题。我删除了副本,留下了集合定义。