我在一个项目中使用Postgres数据库。现在我需要将JSON数组存储到数据库中,就像下面这样:
例如,我有以下JSON结构:
[
{
"Id": 1,
"Name": "XYZ"
},
{
"Id": 2,
"Name": "ABC"
}
]
出于这个目的,我正在使用JSONB数据类型,而且它运行良好。那么当我们可以在JSONB数据类型中简单地存储JSON数组时,JSONB[]数据类型的用途是什么?
我在一个项目中使用Postgres数据库。现在我需要将JSON数组存储到数据库中,就像下面这样:
例如,我有以下JSON结构:
[
{
"Id": 1,
"Name": "XYZ"
},
{
"Id": 2,
"Name": "ABC"
}
]
出于这个目的,我正在使用JSONB数据类型,而且它运行良好。那么当我们可以在JSONB数据类型中简单地存储JSON数组时,JSONB[]数据类型的用途是什么?
我认为你做得很正确。
jsonb[]
数据类型将多个 jsonb
对象存储在 PostgreSQL 数组中。
在您的情况下,您可以使用 jsonb
函数和运算符访问所有数组元素。
如果您将该数组分解为其组成对象,并将每个对象作为元素存储在 jsonb[]
中,则需要使用 PostgreSQL 数组函数和运算符以及 jsonb
函数和运算符来操作数据内容。
jsonb[]
不是一种“额外”的数据类型,它只是由多个 JSONB 值组成的数组,类似于text[]
或integer[]
。你可以从任何类型创建数组。但我同意,很少有情况需要使用jsonb
数组。 - user330315