使用 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/