首页 > 解决方案 > Cassandra CQL SELECT 结果到单个 JSON

问题描述

是否可以在 Cassandra DB 中执行 SELECT 查询以将所有结果字段作为一个 JSON 获取?

例如,我有表产品:

+------+--------+-------+
| UUID |  Name  | Price |
+------+--------+-------+
| 1234 | Potato | 1$    |
| 1235 | Tomato | 2$    |
| .... |  ....  |  ...  |
+------+--------+-------+

我可以以某种方式获得这样的结果,而无需仅使用一个 SELECT 查询创建自己的函数吗?

{"uuid": "1234", "uuid": "12345", ...}

SELECT JSON 不起作用,它不会在一行中返回结果:

{"uuid": "1234"}
{"uuid": "1235"}
{...}

标签: cassandracql

解决方案


首先,您的 JSON 不正确 - JSON 对象中不能有两个具有相同名称的字段。[{"uuid": "1234"}, {"uuid": "1235"}]如果我们谈论正确的 JSON 格式,我可以想象它可能是这样的。

即使我们谈论创建 JSON 对象列表,也无法仅通过 CQL 来实现。

如果您想从 Cassandra 获取 UI 数据或其他与 JSON 一起使用的数据,那么您可以查看为 Cassandra 数据库提供 REST 和 GraphQL 接口的Stargate 项目。


推荐阅读