You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL JSONB列的Sequelize查询转SQL语句技术咨询

对应的PostgreSQL SQL语句转换结果

没问题,结合你给出的示例逻辑,针对MyTable.findAll({ where: { 'userData.Gender':{ $eq: 'M', } } })这个Sequelize查询,生成的PostgreSQL SQL语句应该是这样的:

SELECT "id", "uuid", "device_id", "version", "userData", "createdAt", "updatedAt" 
FROM "MyTable" AS "MyTable" 
WHERE ("MyTable"."userData"#>>'{Gender}') = 'M';

简单解释下和之前Age查询的区别:

  • 因为Gender是字符串类型,不需要像数字类型的Age那样做CAST(... AS DOUBLE PRECISION)类型转换,直接用#>>操作符提取JSONB字段的字符串值后,和目标字符串'M'做相等判断即可。
  • 路径部分从{Age,$lte}变成了{Gender},因为这里是直接匹配字段值,不需要额外的操作符后缀。

内容的提问来源于stack exchange,提问作者shavik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:33:58