【发布时间】:2022-11-24 18:16:05
【问题描述】:
再会,
我在 S.O 上找到了几个解决方案,这些解决方案与查找其 JSON 列具有指定值的行有关。
我目前面临的问题是我的特定 JSON 列 (session_data) 包含一个多维数组,具有一个或多个值:
{
"lastMessages": [
{
"eventId": "1",
"replyDate": "2022-11-23T05:47:18.577Z",
"replyPreview": "response-text-a"
},
{
"eventId": "2",
"replyDate": "2022-11-23T05:48:14.550Z",
"replyPreview": "response-text-b"
},
{
"eventId": "3",
"replyDate": "2022-11-23T06:23:53.234Z",
"replyPreview": "response-text-c"
},
{
"eventId": "4",
"replyDate": "2022-11-23T06:24:13.555Z",
"replyPreview": "response-text-d"
},
{
"eventId": "5",
"replyDate": "2022-11-23T06:24:30.919Z",
"replyPreview": "response-text-z"
}
],
"workflows": {},
"slots": {}
}
我将如何从 JSON 列数组的 replyPreview 属性包含值 response-text-z 的表中检索所有行?
我试过以下方法:
SELECT * FROM dialog_sessions WHERE (session_data->'lastMessages')::jsonb ? 'response-text-z' LIMIT 100
然而无济于事。
【问题讨论】:
标签: postgresql