>我从以下位置阅读文档: 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