如何在sails.js 模型中添加具有整数数据类型数组的属性?

Posted

技术标签:

【中文标题】如何在sails.js 模型中添加具有整数数据类型数组的属性?【英文标题】:How to add an attribute with array of integers data type in sails.js model? 【发布时间】: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 ]

【问题讨论】:

【参考方案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 表中删除行吗??

以上是关于如何在sails.js 模型中添加具有整数数据类型数组的属性?的主要内容,如果未能解决你的问题,请参考以下文章

Sails js:如何在 Sails js 的单个模型中定义两个 MySQL 连接到两个不同的数据库?

如何在 Sails.js 中定义需要来自第三个模型/表的附加条件和/或数据的模型关联?

从 Sails.js 中的关联模型访问模型的属性

将哪些服务添加到sails.js 中的api/services 文件夹中

Sails.js 对关联值的查询

Sails Js - 防止非模型字段保存在 mongo 文档中