Sails.js应用程序无法在mongo db中创建一对多关系:
[根据官方Documentation,我创建了两个链接的一对多实体Post-Likes。我将它们放在api / models文件夹中,并定义如下:
Like.js
module.exports = {
attributes: {
post: {
model: 'post',
required: true
}
}
Post.js
module.exports = {
attributes: {
likes: {
collection: 'like',
via: 'post'
},
user: {
model: 'user'
}
}
}
并且我在页面上用以下语句填充喜欢的帖子:
const posts = await Post.find({user: id})
.sort('createdAt DESC')
.populate('user')
.populate('likes');
我使用命令sails lift --drop
运行sails.js应用并使用上面的代码加载页面后,在控制台中收到以下错误消息:
错误:正在发送500(“服务器错误”)响应:UsageError:无效填充。详细信息:无法填充
like
。没有此模型中定义的名为like
的属性。at Object.module.exports [as user/profile] (/Users/new/Developer/ios/social/web_social/api/controllers/user/profile.js:8:30) at processTicksAndRejections (internal/process/task_queues.js:93:5)
我检查了mongo数据库实例,但看不到like
实体的任何空或空的post
属性:
尝试将模型名称设为initCap。如下所示
module.exports = {
attributes: {
post: {
model: 'Post',
required: true
}
}