【问题标题】:One-to-many association in sails.js creation failureSails.js 创建失败中的一对多关联
【发布时间】: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


    【解决方案1】:

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

        module.exports = {
      attributes: {
        post: {
          model: 'Post',
          required: true
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-02-01
      • 2015-06-27
      • 2015-07-29
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 2015-06-01
      相关资源
      最近更新 更多