在postgresql中使用typeorm的数组是否可能?

y1aodyip  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(3)|浏览(126)

我一直试图在我的User实体中创建一个orm类型的数字数组,但是orm类型总是出现这个问题
密码

@Entity()
class User {
    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    username: string;

    @Column()
    password: string;

    @Column()
    points: number;

    @Column()
    time: number[];
};

字符串
终端中的错误是:
(node:25398)UnhandledPromiseRejectionWarning:DataTypeNotSupportedError:"postgres"数据库不支持"User. time"中的数据类型"Array"。在new DataTypeNotSupportedError(/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/error/DataTypeNotSupportedError)。js:7:28)at/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator. js:七十四:27在阵列EntityMetadataValidator上的forEach()。validate(/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator。js:七十一:36)在/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator。js:四十二:74在阵列EntityMetadataValidator上的forEach()。validateMany(/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/metadata-builder/EntityMetadataValidator. js:四十二:(25)连接。buildMetadatas(/home/vinicius/www/Projects/Quizzer/backend/node_modules/typeorm/connection/Connection. js:四百九十八:(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)(node:25398)UnhandledPromiseRejectionWarning:未处理的promise拒绝。这个错误可能是由于在没有catch块的async函数内部抛出,或者是由于拒绝了一个没有用. catch()处理的promise。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝ID:1)(节点:25398)[DEP0018]弃用警告:不建议使用未处理的promise拒绝。将来,未处理的promise拒绝将使用非零退出代码终止Node.js进程。

rqenqsqc

rqenqsqc1#

this

@Entity()
class User {
    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    username: string;

    @Column()
    password: string;

    @Column()
    points: number;

    @Column("int", { array: true })
    time: number[];
};

字符串
希望有帮助:)

hfwmuf9z

hfwmuf9z2#

你也可以这样做

@Column({ type: 'simple-array' })
time: number[]

字符串

gudnpqoy

gudnpqoy3#

支持数组类型,但根据文档,您必须明确指出它是一个数组:

@Column("int", {array: True})
time: number[]

字符串
如果仍然出现与默认值相关的错误,请尝试使用以下语法。

@Column("int", {array: True, default: []})

相关问题