Couchbase N1QL 子查询加入问题

Couchbase N1QL Subquery join issue

SELECT (SELECT RAW subcomments 
FROM comments.subcomments AS subcomments
JOIN users ON subcomments.userId = users.id 
ORDER BY subcomments.createdDate DESC) as subcomments,
ARRAY_COUNT(comments.subcomments) as subcommentCount 
FROM comments where comments.id = "f4f0f481-f0d6-4edf-8a0c-494651becdf2" and projectId= "1"

当我尝试 运行 这个查询时,我收到了这些错误:

[
  {
    "code": 5370,
    "msg": "Unable to run subquery - cause: FROM in correlated subquery must have USE KEYS clause: FROM users.",
    "query": "SELECT (SELECT RAW subcomments \nFROM (Select * from comments.subcomments as sbcm\nJOIN users ON sbcm.userId = users.id ) as a\nORDER BY subcomments.createdDate DESC) as subcomments,\nARRAY_COUNT(comments.subcomments) as subcommentCount \nFROM comments where comments.id = "f4f0f481-f0d6-4edf-8a0c-494651becdf2" and projectId= "1""
  },
  {
    "code": 5010,
    "msg": "Error evaluating projection. - cause: FROM in correlated subquery must have USE KEYS clause: FROM users."
  }
]

我该怎么办?你能帮帮我吗?

目前相关的子查询需要USE KEYS MB-30813。您可以尝试关注

SELECT d.subcommentCount,
       (SELECT RAW sc1
        FROM d.subcomments AS sc1
        ORDER BY sc1.createdDate DESC) AS subcomments
FROM ( SELECT COUNT(sc) AS subcommentCount,
              ARRAY_AGG(sc) AS subcomments
       FROM comments AS c
       LEFT UNNEST c.subcomments AS sc
       JOIN users ON sc.userId = users.id
       WHERE c.id = "f4f0f481-f0d6-4edf-8a0c-494651becdf2" AND c.projectId= "1"
       GROUP BY META(c).id) AS d;