首页 > 解决方案 > 如何使用sails waterline 将数组插入到postgresql 表中?

问题描述

我想使用.sailsjs

我试过制作这样的模型Users.js

 interest:{
      type: 'string',
      required: false,
      columnType: 'array'
    }

插入查询如下所示:

Users.create({ interest : ['programming'] });

postgre 表中兴趣列的数据类型是character varying[].

当我尝试使用此设置执行插入时,它会引发错误:

 Specified value (a array: [ 'programming' ]) doesn't match the expected type: 'string'

如何在 postgresql 表中插入数组,模型应该是什么样子?

任何帮助将不胜感激,谢谢!

标签: postgresqlsails.jswaterlinesails-postgresql

解决方案


我在我的项目中使用了相当多的 PG 数组,并且在使用type: 'ref'然后在columnType. 类似于以下内容:

 things: {
  type: 'ref',
  columnType: 'text[]',
  defaultsTo: null, // or defaultsTo: []
  description: 'An array of stringy-things',
},

PG 数组类型文档:https ://www.postgresql.org/docs/9.1/arrays.html ,但基本上你想要可能想要<TYPE>[]用于你的列类型,即integer[]


推荐阅读