Couchbase N1QL将多个子行连接成单个字符串

Couchbase N1QL将多个子行连接成单个字符串,couchbase,n1ql,Couchbase,N1ql,考虑在Couchbase中,我有一个个人数据库,包含3个文档: Person A Child AA Grand AAA Grand AAB Child AB Grand ABA Grand ABB Person B Person C Child CA Child CB Grand CBA 是否有一种简单的方法可以使用N1QL将其转换为以下结果? 我试着把每个人的孙子孙女都画成字符

考虑在Couchbase中,我有一个个人数据库,包含3个文档:

Person A
    Child AA
        Grand AAA
        Grand AAB
    Child AB
        Grand ABA
        Grand ABB

Person B

Person C
    Child CA
    Child CB
        Grand CBA
是否有一种简单的方法可以使用N1QL将其转换为以下结果? 我试着把每个人的孙子孙女都画成字符串

Person A, Grand: "AAA, AAB, ABA, ABB"
Person B, Grand: ""
Person C, Grand: "CBA"

您可以执行以下操作:

SELECT p.name AS p, ENCODE_JSON(ARRAY_AGG(g.name)) AS g
FROM person AS p LEFT OUTER UNNEST p.child AS c LEFT OUTER UNNEST c.grand AS g
GROUP BY p;

你能为Person A发布实际的JSON文档吗?实际的JSON不是Person db,而是conversation db。我需要将所有单词显示为每个通道1个字符串。有三个层次:渠道、话语、话语,就像原始问题一样,人、子、大。谢谢你的快速回复,我会尽快测试