【发布时间】:2020-10-11 19:18:31
【问题描述】:
我想根据存储在数据库中的一些 JSON 数据执行搜索操作,格式如下:
{
"id": "ae002e48-f540-44ac-9050-3bd24902a",
"type": "Devil",
"System": "not your system",
"dateCreated": "2012-12-12T15:22:53.798",
"meta":{
"key":123,
"life": "get a life",
"animal":"not dirty"
},
"item": null
}
那么,如何在 postgresql 数据库中的所有 JSON 中搜索所有动物都“不脏”的关键 metadata.animal?
PS:我想在获取请求期间执行搜索(例如 get 请求到 /animal/search/meta/animal?animal=not+dirty 应该搜索所有记录并显示meta.animal=notdirty 的所有记录)。
【问题讨论】:
-
您是否尝试过在数据库查询中使用正则表达式?另外,请说明您使用的数据库以及您要搜索的所有数据是否都采用给定格式。
-
使用的数据库:PostgreSQL、id、type、system、meta、item...等是列的名称。元列以 JSON 格式存储数据。我想搜索 meta 列,例如 meta.life=get a life(使用 get 请求)的记录
-
是的,这可以使用正则表达式来完成。研究此链接以获取更多详细信息:postgresqltutorial.com/postgresql-regexp_matches
标签: java json postgresql spring-boot rest