问题标签 [jsonb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2307 浏览

postgresql - PostgreSQL:非空 JSON 对象的 CHECK 约束

我想对 JSONB 列有一个 CHECK 约束,它只允许非空 JSON 对象(仅{}具有属性,没有其他值,如[]JSON 原语)。

我只想检查“根”值,这些对象中存储的内容并不重要。

我怎样才能做到这一点?

0 投票
2 回答
9291 浏览

postgresql - Upgrade PostgreSQL JSON column to JSONB?

After upgrading to PostgreSQL 9.4, how do I convert all my JSON columns into JSONB columns?

I don't mind losing any duplicate keys and whitespace.

0 投票
2 回答
72 浏览

postgresql - Better/shorter way to check inexistence of JSONB key

Where data is JSONB column, I want to check if the key exists, normally I use:

Is there any better/shorter way to do this? since other alternative give incorrect result:

0 投票
1 回答
782 浏览

arrays - 如何在数组索引中创建 Postgresql JSONB 数组?

我有这样的结构:user_id,a。

a 是 jsonb 类型,具有以下结构:

我将如何创建一个索引,使我能够在 ids 列表中找到具有特定 id 的所有用户 (user_id)?

0 投票
2 回答
26930 浏览

postgresql - postgresql 将 JSON 迁移到 JSONB

在 postgresql 9.4 中,合并了新的 JSONB。

在 postgresql 9.3 的实时数据库上,我有一个 JSON 列。

我想将它迁移到 JSONB。

假设我首先将数据库迁移到 9.4(使用 pg_upgrade)。接下来我该怎么做?

0 投票
2 回答
10145 浏览

python - SQLAlchemy 根据 JSONB 中的嵌套键进行过滤

我有一个有时有嵌套键的 JSONB 字段。例子:

如果我做

我得到这个记录。

如何搜索嵌套键的存在?( "a simple text")

0 投票
3 回答
761 浏览

django - JSONB PostgreSQL 类型:如何查找

我不确定我们可以在多大程度上使用 PostgreSQL 9.4 的 JSONB 类型

例如,如果我将以下内容存储在 JSON 字段中:

如何选择 JSONB 字段具有键“a”且其列表中值为“1”的行?

对于此示例,结果将是:

如果是,如何将它与 django 一起使用?

谢谢

0 投票
2 回答
5383 浏览

ruby-on-rails - 如何使用 rails form 和 jsonb postgres

我正在考虑在 Rails4.2 和 Postgres4.1 中使用新的 jsonb 功能。

我正在考虑创建一个代表用户配置文件(即技能集等)的模型并将整个内容存储在单个 jsonb 数据集中。

所以桌子会有:

我在想我基本上可以将所有配置文件数据存储在 jsonb 结构中,如下所示(这只是一个示例/概念):

我的问题是如何创建一个可以写入/读取此结构的基本 rails 表单?我了解如何对一组传统的关系表执行此操作,但不确定如何处理它何时可以全部进入如下所示的灵活结构?

_form.html.erb 和控制器 new/create/edit 操作会发生什么?

0 投票
0 回答
125 浏览

arrays - PostgreSQL 通过条件子键更新 jsonb 数组之一

在 PostgreSQL 中,我的列类型是 json ,数据是 json 数组,如:

我想通过元素键更新数组数据之一,例如:

有人有更好的方法来做到这一点

0 投票
1 回答
968 浏览

postgresql - 使用 c api 处理 postgresql jsonb

Postgres 扩展开发

我正在使用从 ubuntu 可信赖的主仓库安装的postgres-9.4的 C API。这可能是一个愚蠢的问题,但请耐心等待。

我想使用一个函数将 a 转换cstringJsonb*定义的结构

http://doxygen.postgresql.org/jsonb_8h.html

已经在

http://doxygen.postgresql.org/jsonb_8c.html

即 function Datum jsonb_in ( PG_FUNCTION_ARGS ),但是我不确定是否可以以可移植且安全的方式从 C API 调用此函数。乍一看,它似乎是为了被 postgres 调用。

我也可以使用该功能jsonb_from_cstring

http://doxygen.postgresql.org/jsonb_8c.html#ab23eca28d5880f86a0943d71c90d6654

但它是在 json.h 中声明和定义的,jsonb.c而不是在 json.h 中声明的,因此与此函数链接不是一个非常干净的解决方案。我尝试在 libpq.so 中找到符号jsonb_from_cstring,但是没有。我猜我需要一个非标准的 postgres 版本?

所以问题是,从 C API中将 a 转换cstring为结构的最佳方法是什么?Jsonb*

编辑:

该扩展从外部源获取 json 数据作为字符串,并且应该能够将该字符串存储在一个Jsonb类型中