jsonb 与 jsonb[] 对于客户的多个地址

2024-05-05

在 PostgreSQL 的 jsonb 字段中保存多个地址是个好主意。我是 nosql 新手,我想测试 PostgreSQL 来做到这一点。我不想有另一个包含地址的表,我更喜欢将其放在同一个表中。 但我有疑问,我见过PostreSQL有jsonb和jsonb[]。

存储多个地址哪一个更好? 如果我使用 jsonb,我想我必须为每个字段添加一个前缀,如下所示:

"1_adresse_line-1"
"1_adresse_line-2"
"1_postalcode"

"2_adresse_line-1"
"2_adresse_line-2"
"2_postalcode"

"3_adresse_line-1"
"3_adresse_line-2"
"3_postalcode"

etc.

使用 jsonb[] 是否更好,它是如何工作的?


使用 jsonb (不是 jsonb[]!)列,其结构如下:

select
'[{
        "adresse_line-1": "a11",
        "adresse_line-2": "a12",
        "postalcode": "code1"
    },
    {
        "adresse_line-1": "a21",
        "adresse_line-2": "a22",
        "postalcode": "code2"
    }
]'::jsonb;

不过,与主表相关的常规表是更好的选择。

为什么不是 jsonb[]?看一眼JSON 定义: http://www.json.org/

JSON 建立在两种结构之上:

  • 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
  • 值的有序列表。在大多数语言中,这被实现为array、向量、列表或序列。

因此,您可以在 jsonb 列中存储对象数组。尝试使用 jsonb 数组可能是由于对此类数据的误解。我从未见过对这样的解决方案的合理需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsonb 与 jsonb[] 对于客户的多个地址 的相关文章

  • 像matlab一样在python中连接数组而不知道输出数组的大小

    我正在尝试在 python 中连接数组 类似于 matlab array1 zeros 3 500 array2 ones 3 700 array array1 array2 我在 python 中做了以下操作 array1 np zero
  • 如何使用 JSON 以外的方法将数组转换为字符串?

    除了使用 JSON 之外 PHP 中还有什么函数可以将数组转换为字符串 我知道有一个函数可以像 JSON 一样直接执行 我只是不记得了 serialize http php net manual function serialize php
  • 连接所有 PostgreSQL 表并创建 Python 字典

    我需要加入allPostgreSQL 表并将它们转换为 Python 字典 数据库中有72张表 总列数大于1600 我编写了一个简单的 Python 脚本 该脚本连接多个表 但由于以下原因无法连接所有表内存错误 https gist git
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • 如何编写不返回任何内容的 postgres 存储过程?

    如何在 postgres 中编写一个根本不返回值的简单存储过程 即使使用 void 返回类型 当我调用存储过程时 我也会返回一行 CREATE FUNCTION somefunc in id bigint RETURNS void AS B
  • 如何使用 setState 插入 React 的状态数组?

    我正在寻找在反应中修改和数组并在特定索引上插入元素 这就是我的状态 this state arr 我想做的是编译这个arr index random element 反应 js setState 语法 我试图做的是 this setStat
  • 按值对对象 javascript 数组进行排序[重复]

    这个问题在这里已经有答案了 我有以下数组 data date entered 2021 02 18 order 1 data date entered 2021 02 22 order 2 data date entered 2021 02
  • 这应该被称为对象切片的某种特殊情况吗?

    假设我有课Derived派生自类Base然而sizeof Derived gt sizeof Base 现在 如果分配一个数组Derived像这样 Base myArray new Derived 42 然后尝试访问n第一个对象使用 doS
  • 配置 PostgreSQL 仅适用于 LOCALHOST 或指定的 ip + 端口 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想将 PostgreSQL 配置为仅接受来自指定 IP 的连接 它不应接受来自任何其他 IP 的请求 以下示例 pg hba conf
  • 续集打字稿多对多关系模型数据

    我正在使用sequelize续集打字稿 https github com RobinBuschmann sequelize typescript图书馆 并试图实现以下关系 Team ts Scopes withPlayers include
  • IndexError:索引 10 超出尺寸为 10 的轴 0 的范围

    我正在以数字方式为 x 网格和 x 向量以及时间网格设置网格 但我再次设置了一个数组x 位置 只能在 0 到 20 之间并且t 时间 将从 0 到 1000 以便求解热方程 但每次我想要 例如 我将步数设置为 10 时 都会收到错误 Tra
  • 对使用“new”创建的数组上“map”的行为感到困惑[重复]

    这个问题在这里已经有答案了 我对结果感到困惑mapping 使用创建的数组new function returnsFourteen return 14 var a new Array 4 gt undefined x 4 in Chrome
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • mobx 未观察到数组拼接

    我定义了一个从数组中删除项目的操作 export default class myStore observable items action deleteItem async target gt try await backendServi
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • 在 Swift 中将时间数组从 24 小时转换为 12 小时

    我有一个像这样的数组 arrayTimes 16 00 16 30 17 00 17 30 18 00 18 30 我想将数组从 24 小时转换为 12 小时 这是我到目前为止所拥有的 它转换数组中的第一个数字 我遗漏了一些东西 但我无法解
  • 将字符串数组添加到组合框

    我有一个组合框 我想加载一个从方法返回的字符串数组 我目前只是用 for 循环加载它 但我认为应该可以将字符串数组直接分配给组合框 我只是想改进我的代码 我已经做了一些搜索 并且看到了使用数据范围或数据源的答案 但这些似乎都不起作用 我也尝
  • 在 Java 中循环数组的前 20 个元素

    我这里有这个循环 for int i 0 i lt prices length i if prices i gt largest largest prices i else if prices i
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行

随机推荐