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"}
{...}

解决方法

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

即使我们谈论创建 JSON 对象列表,也不能仅通过 CQL 来完成。

如果您想从 Cassandra 获取用于 UI 的数据,或其他适用于 JSON 的数据,那么您可以查看为 Cassandra 数据库提供 REST 和 GraphQL 接口的 Stargate project