我的postgres数据库表有一个列位置,即字符varying[]。在我的nestjs实体的表中,我有下面的位置列-
@Column("character varying",{array:true})
location: string[];我要做的是搜索已将参数作为位置传递的行。这是一个原始的查询,它给了我适当的结果-
select * from blogs where language @> '{"Spanish","English"}'在我的nestjs服务中,如何实现上述查询?我试过这样做-
return await this.blogsRepo.find({
where: [
{
location: Any(body.locations)
}
]
})body.locations是这样的数组-
body.locations = ["Spanish","English"]上面的typeorm解决方案给了我以下错误-
“无法找到数据类型字符varying[]的数组类型”
解决这个问题的可能办法是什么?我会喜欢typeorm解决方案,因为我将原始查询执行作为我的最后一个选项。
提前谢谢你,
发布于 2019-12-12 11:43:24
根据typeorm文档,没有方法/内置相当于@>操作符的typeorm操作符。
因此,实现我想要的结果的唯一方法是生成一个完整的查询,然后使用Repository.query()方法执行它。
到目前为止似乎还有效!
https://stackoverflow.com/questions/57408935
复制相似问题