json - Node Postgres 查询 json

标签 json node.js postgresql

使用 node-pg 我正在尝试查找 JSON 对象中是否存在字符串。

示例(部分)行:

{ viq_id: '801583',
    title: 'Blank, security key, lock system, and production method',
    applicants: [ [Object], [Object] ],
    cpc: [ [Object], [Object] ],
    abstract: { value: [Object], language: 'en' } }

摘要是 JSONB 类型。 查询时

 var query = 'SELECT viq_id, title, applicants, cpc, abstract ->> "value"' +
    ' FROM epo_patents' +
    ' WHERE title ILIKE $1';

或者为了这个

var query = 'SELECT viq_id, title, applicants, cpc, abstract' +
        ' FROM epo_patents' +
        ' WHERE title ILIKE $1 OR abstract ->> "value" = $1';

或者为了这个

var query = 'SELECT viq_id, title, applicants, cpc, abstract' +
        ' FROM epo_patents' +
        ' WHERE abstract.value = $1';

答案是“errorMissingColumn”,或者在后一种情况下是 errorMissingRTE

如何在 Node pg 中正确查询 JSON?

最佳答案

var query = 'SELECT viq_id, title, applicants, cpc, abstract -> "value"' 更改为 var query = "SELECT viq_id, title, applicants, cpc, abstract ->> 'value'" ,因为双引号用于数据库对象(表、列等)名称... 看Postgres JSON syntax

关于json - Node Postgres 查询 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094257/

相关文章:

php - 在 PHP 中缓存 JSON 输出

将 CSV 转换为 GeoJSON 的 Python 脚本

node.js - 如何使用 Node.js 中的 WebSocket (websockets/ws) 库获取客户端 IP 地址?

postgresql - psycopg2 在 SELECT 语句中舍入我的 float

java - 如何确定 SQL 语句中列名是否必须用引号引用?

javascript - JSON.parse 返回意外标记

Java API - 列出 <int[]> 到 JSON 错误

node.js - 表达4参数条件

node.js - 在 NodeJS 服务器中使用导入

sql - 选择一个变量