json - Postgres 9.4 jsonb 查询基本运算符

标签 json mongodb postgresql jsonb

有什么方法可以对 Postgres 中某个表中的 jsonb 字段进行查询,这些查询基本上与 Mongodb 查询运算符(在此处列出 https://docs.mongodb.org/manual/reference/operator/query-comparison/ )相同

例如,我希望能够在 postgres 表中存储一些 json 对象:

{"power": 200},
{"power": 400},
{"power": 0},
{"power": 146297},

如果我做当前的方法

SELECT * FROM mytable where json_field ->> 'power' < '2';

我得到了功率 0 和功率 146297 的行...

某处是否有一些文档指定如何操作

gt, gte, lt, lte, eq, 不等于,在数组中,不在数组中

最佳答案

您需要转换 ->> 字符串结果值:

WITH mytable(json_field) AS ( VALUES
  ('{"power": 200}'::JSONB),
  ('{"power": 400}'::JSONB),
  ('{"power": 0}'::JSONB),
  ('{"power": 146297}'::JSONB)
)
SELECT * FROM mytable where (json_field->>'power')::INTEGER < 2;

结果是:

  json_field  
--------------
 {"power": 0}
(1 row)

关于json - Postgres 9.4 jsonb 查询基本运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002524/

相关文章:

postgresql - 日志传送错误postgres

python - django.core.exceptions.ImproperlyConfigured : The database name '****.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters

node.js - 如何以正确的方式将 PostgreSQL 连接到 NodeJS?

php - 从 dhtmlx 调度程序中删除 block 区域

javascript - 如何使用 jQueryeach 函数从 html 表中提取数据

c# - 如何在 C# 中创建 JSON 字符串

javascript - 使用 Javascript 函数调用 jQuery 函数

mongodb,通过哈希键查找

java - 无法正确将 JSON 对象转换为 Java 对象

mongodb - mongodb 如何处理 2038 年 1 月 19 日星期二之后的 ObjectId 时间戳?