如何在羽毛/异议ORM中查询jsonb(postgtresql)?



>我从以下位置阅读文档: https://github.com/feathersjs-ecosystem/feathers-objection 仍然无法查询 jsonb 列。

我的表包含:id,some_other_fields,分段:jsonb 细分列的值如下:

{"type": "WT", "group": "D", "style": 880, "design": 1, "subtype": "ABL"}

例如,如何使用type = "WT"进行查询? SQL 代码是:

select *
from products
where segmentation ->> 'type' = 'WT';

但ORM代码:

const query = {             
segmentation: {type:"WT"}
};

它不起作用。

我设法得到的只是:使用语法时Bad request.... "segmentation" = $1 - invalid input syntax for type json或根本没有结果。

有什么想法吗?

如果其他人偶然发现这一点,答案是: 在your_service_name.model.js中,您必须使用以下命令声明 JSON 架构:

properties: {
your_jsonb_property: {type: 'object'}
}

Json 架构是可选的,但如果没有它,它将无法工作。

如有异议,您应该在列内引用 json 属性时告诉 ORM:

.where({'segmentation:type' : 'WT'})

检查

https://vincit.github.io/objection.js/recipes/json-queries.html

https://vincit.github.io/objection.js/api/types/#type-fieldexpression

相关内容

  • 没有找到相关文章

最新更新