小编Kal*_*dhi的帖子

如何使用 typeorm 在 postgres 中保存 json 对象数组

我正在尝试在 postgres 中保存 jsonb 类型的对象数组

实体

@Column({type: 'jsonb', array: true, nullable: true})
testJson: object[];
Run Code Online (Sandbox Code Playgroud)

我在邮递员中发送的json

{
    
    "testJson": [
        {"skill": "docker", "experience": true},
        {"skill": "kubernetes", "experience": false}
    ]
}
Run Code Online (Sandbox Code Playgroud)

我收到错误“格式错误的数组文字:”

另请告诉我是否可以查询此类数据类型?

postgresql typeorm nestjs

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

如何在验证 DTO 之前解析密钥?

我是 NestJ 的新手。我在 Body 中有一个传入字段,在 DTO 中验证它之前我需要对其进行 JSON.parse。

控制器

@Post('test')
    @UsePipes(new ValidationPipe({transform: true}))
    @UseInterceptors(
        FileInterceptor('image', {
          storage: diskStorage({
            destination: './uploads/users',
            filename: editFileName,
          }),
          fileFilter: imageFileFilter,
        }),
      )
    testapi(
        @UploadedFile() file,
        // @Body('role', CustomUserPipe) role: string[],
        @Body() data: CreateUserDto,
    )
    {
        //
    }
Run Code Online (Sandbox Code Playgroud)

数据传输组织

    @Transform(role => {JSON.parse(role)}, {toPlainOnly: true})
    @IsNotEmpty({message: "Role can't be empty"})
    @IsArray({message: "Role must be in array"})
    @IsEnum(UserRole, {each: true, message: "Enter valid role"})
    role: UserRole[];
Run Code Online (Sandbox Code Playgroud)

node.js typescript class-validator nestjs class-transformer

0
推荐指数
1
解决办法
5468
查看次数