【问题标题】:How to add an attribute with array of integers data type in sails.js model?如何在sails.js 模型中添加具有整数数据类型数组的属性?
【发布时间】:2019-02-28 22:43:39
【问题描述】:

我将sails 与postgresql 一起使用,并且我有一个具有一组组ID 的用户。我想将组 ID 保存在用户表中。我的用户模型是这样的:

    module.exports = {
  attributes: {
    first_name: {
      type: 'string'
    },

    last_name: {
      type: 'string'
    },
    company: {
      type: 'string'
    },
    password: {
      type: 'string',
      minLength: 6,
      required: true,
      columnName: "password"
    },

    user_groups: {
      model: 'groups',
    }
  }

但是当我发送像 [2] 这样的请求时,我收到以下错误:

无法使用指定的user_groups。期望一个 id 代表 关联的记录,或null 表示不会有 相关记录。但指定的值无效 user_groups。而不是数字(预期的 pk 类型),得到:[ 2 ]

【问题讨论】:

    标签: node.js postgresql model sails.js waterline


    【解决方案1】:

    要在 Waterline 中进行多对一关联,语法略有不同。在该字段的对象中,您需要collectionvia(关联集合中相应字段的名称)。所以在User(为了约定,我将模型名称设为单数和PascalCase)它会是这样的:

    user_groups: {
        collection: 'Group',
        via: 'users'
    }
    

    Group 模型中,您有:

    users: {
        collection: 'User',
        via: 'user_groups'
    }
    

    【讨论】:

    • 它可以工作,但是应用程序会生成一个名称为 groups_users__users_user_groups 的表,其中保留了用户 ID 和用户组 ID。当我想删除一个用户时,你知道我应该如何从 groups_users__users_user_groups 表中删除行吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2015-09-26
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    相关资源
    最近更新 更多