【发布时间】:2020-01-22 16:44:58
【问题描述】:
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: Invalid 填充。详细信息:无法填充
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 db 实例,我看不到 like 实体的任何空或 null 属性:
【问题讨论】:
标签: node.js mongodb sails.js sails-mongo