错误:不能为不可为空的 postgres 返回 null
Posted
技术标签:
【中文标题】错误:不能为不可为空的 postgres 返回 null【英文标题】:Error: Cannot return null for non-nullable postgress 【发布时间】:2021-05-11 02:16:12 【问题描述】: @Query(() => Post, nullable: true )
async post(
@Arg("id", () => Int) id: number
): Promise<Post | undefined | null>
return await Post.findOne( id );
我有这个运行良好并返回所需输出的查询。但是当我将其转换为 postgres sql 时,它没有显示错误。
@Query(() => Post, nullable: true )
async post(
@Arg("id", () => Int) id: number
): Promise<Post | undefined | null>
const posts = await getConnection().query(
`
SELECT * FROM post where id = 2
`
);
return posts
它抛出错误Error: Cannot return null for non-nullable
我是 postgres 的新手。什么错误?
【问题讨论】:
【参考方案1】:问题在于,在第一个示例中,TypeORM 将返回一个帖子或 null。在第二个示例中,它将返回一个包含或不包含某些内容的数组。我建议您对查询设置一个限制
SELECT * FROM post where id = 2 limit 1
并返回结果数组中的第一个元素(返回帖子[0])。
【讨论】:
以上是关于错误:不能为不可为空的 postgres 返回 null的主要内容,如果未能解决你的问题,请参考以下文章
Schema graphql 错误给出“不能为不可为空的字段 Organisation.id 返回 null”为啥?
AWS放大graphql突变:不能为不可为空的字段返回null
Gatsby graphiQL - 不能为不可为空的字段 ImageSharpFluid.src 返回 null
Apollo GraphQL“不能为不可为空的字段 Mutation.createUser 返回 null”