sails.js创建失败中的一对多关联

问题描述 投票:0回答:1

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属性:

enter image description here

node.js mongodb sails.js sails-mongo
1个回答
0
投票

尝试将模型名称设为initCap。如下所示

    module.exports = {
  attributes: {
    post: {
      model: 'Post',
      required: true
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.