【问题标题】:Node Postgres querying for json节点 Postgres 查询 json
【发布时间】:2015-07-17 14:58:39
【问题描述】:

使用 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' } }

abstract 是 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

如何在节点 pg 中正确查询 JSON?

【问题讨论】:

    标签: json node.js postgresql


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-23
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多