小编Dav*_*ide的帖子

TypeORM jsonb 数组列

我在做一个节点微服务,orm 和 db 分别是typeormpostgresql

我正在尝试创建jsonb数组列,但我可能没有以正确的方式进行。

笔记

  1. 我通常会通过简单地添加一个简单的额外实体和关系来实现这一点。在这种情况下,我被要求使用jsonboder 中的类型,以便能够在不满足架构更改的情况下修改接口。
  2. 存储一个简单的索引 id 列表现在同样足够好。
  3. 我不确定我是否应该使用array: truecolumn 选项。我尝试了几次使用普通jsonb对象但没有成功 ( "{}"::jsonb)。

我的目标:

存储具有索引 id列的对象数组,并能够添加和删除 id。如果这是不可能的,则可以使用平面索引字符串数组。

例如:

[ {id: 'some-uuid-000'}, {id: 'some-uuid-001'}, ... ]

或者:

['some-uuid-000', 'some-uuid-001', 'some-uuid-002']

代码:

我的列定义:

@Column({
        type: 'jsonb',
        array: true,
        default: () => 'ARRAY[]::jsonb[]',
        nullable: false,
    })
    public users: Array<{ id: string }> = [];
Run Code Online (Sandbox Code Playgroud)

我设法获取空数组

const group = await repo.findOneOrFail({ id: groupId });
console.log('>>>>>', group.users);
Run Code Online (Sandbox Code Playgroud)

输出: …

postgresql orm node.js typescript typeorm

3
推荐指数
1
解决办法
1万
查看次数

原则 2 保留实体并从插入查询中排除空字段

我试图将两个字段添加到我所有的学说生成实体中来处理日期(date_created 和 date_modified)。

请参阅当前的 yml 以供参考

`Project\PasswordRecovery:
type: entity
table: PasswordRecovery
lifecycleCallbacks:
  prePersist: [ prePersist ]
indexes:
    fk_PasswordRecovery_User_idx:
        columns:
            - user_id
id:
    id:
        type: integer
        generator:
            strategy: AUTO
fields:
    date_created:
        type: datetime
        nullable: false
        columnDefinition: 'TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP'
        options:
            default: CURRENT_TIMESTAMP
    date_modified:
        type: datetime
        nullable: false
        columnDefinition: 'TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'
        options:
            default: CURRENT_TIMESTAMP
    token:
        type: text
        nullable: true
    user_id:
        type: integer
        nullable: true
manyToOne:
    users:
        targetEntity: User
        inversedBy: passwordRecoveries
        joinColumn:
            name: user_id
            referencedColumnName: id
Run Code Online (Sandbox Code Playgroud)

我的问题: …

php mysql doctrine symfony doctrine-orm

2
推荐指数
1
解决办法
1995
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

mysql ×1

node.js ×1

orm ×1

php ×1

postgresql ×1

symfony ×1

typeorm ×1

typescript ×1