是否可以使用 typeorm 在 postgresql 中使用数字数组?
Posted
技术标签:
【中文标题】是否可以使用 typeorm 在 postgresql 中使用数字数组?【英文标题】:Is it possible for an array of number in postgresql using typeorm? 【发布时间】:2020-10-22 13:56:38 【问题描述】:我一直在尝试在我的用户实体中创建一个 orm 类型的数字数组,但是 orm 类型一直显示这个问题
代码
@Entity()
class User
@PrimaryGeneratedColumn()
id: number;
@Column()
username: string;
@Column()
password: string;
@Column()
points: number;
@Column()
time: number[];
;
终端的错误是:
(节点:25398)UnhandledPromiseRejectionWarning:DataTypeNotSupportedError:“User.time”中的数据类型“Array”不是 由“postgres”数据库支持。 在新的 DataTypeNotSupportedError (/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/error/DataTypeNotSupportedError.js:7:28) 在/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator.js:74:27 在 Array.forEach () 在 EntityMetadataValidator.validate (/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator.js:71:36) 在/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator.js:42:74 在 Array.forEach () 在 EntityMetadataValidator.validateMany (/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator.js:42:25) 在 Connection.buildMetadatas (/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/connection/Connection.js:498:33) 在连接处。 (/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/connection/Connection.js:128:30) 在步骤(/home/vinicius/www/Projects/Quizzer/backend/node_modules/tslib/tslib.js:141:27) (节点:25398)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在异步内部抛出 没有 catch 块的函数,或者通过拒绝一个承诺 不使用 .catch() 处理。终止未处理的节点进程 承诺拒绝,使用 CLI 标志
--unhandled-rejections=strict
(参见 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:1) (节点:25398)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。在未来,承诺拒绝是 未处理将以非零退出终止 Node.js 进程 代码。
【问题讨论】:
【参考方案1】:来自this:
@Entity()
class User
@PrimaryGeneratedColumn()
id: number;
@Column()
username: string;
@Column()
password: string;
@Column()
points: number;
@Column("int", array: true )
time: number[];
;
希望对你有帮助:)
【讨论】:
以上是关于是否可以使用 typeorm 在 postgresql 中使用数字数组?的主要内容,如果未能解决你的问题,请参考以下文章
节点服务器无法通过 Docker 连接到 Postgres,使用 TypeORM
我如何将 Postgres DateRange 类型与 TypeOrm 一起使用
使用 TypeORM 在 Postgres bytea 上保存缓冲区仅存储 10 个字节