У меня есть следующий массив данных JSON:
{ arrayOfObjects:
[
{
"fieldA": "valueA1",
"fieldB": { "fieldC": "valueC", "fieldD": "valueD" }
},
{
"fieldA": "valueA",
"fieldB": { "fieldC": "valueC", "fieldD": "valueD" }
}
]
}
Я хотел бы выбрать все записи, где fieldD соответствует моим критериям (а fieldC неизвестно). Я вижу похожие ответы, такие как Запрос для элементов массива внутри типа JSON , но там запрашиваемое поле представляет собой простую строку (похожую на поиск по fieldA в моем примере), где моя проблема заключается в том, что я хотел бы запрос на основе объекта внутри объекта в массиве.
Я пробовал что-то вроде select * from myTable where jsonData -> 'arrayOfObjects' @> '[ { "fieldB": { "fieldD": "valueD" } } ]' )
, но, похоже, это не сработало.
Как мне добиться того, чего я хочу?