如何仅在一个GraphQL请求中返回多个结果?
我有一个GRANDstack应用程序 对于此应用程序,我在Neo4j中有一个密码请求,如下所示:如何仅在一个GraphQL请求中返回多个结果?,graphql,grandstack,Graphql,Grandstack,我有一个GRANDstack应用程序 对于此应用程序,我在Neo4j中有一个密码请求,如下所示: MATCH (c:CLUSTER) WITH c ORDER BY c.cluster_score DESC LIMIT 5 MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE) WITH c,a ORDER BY a.article_score DESC RETURN c, collect(a)[..5] as articles 匹配(c:集群) 用c 按c.clu
MATCH (c:CLUSTER)
WITH c
ORDER BY c.cluster_score DESC
LIMIT 5
MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE)
WITH c,a
ORDER BY a.article_score DESC
RETURN c, collect(a)[..5] as articles
匹配(c:集群)
用c
按c.cluster_score DESC排序
限制5
匹配(c)您将返回2个值c
和articles
,但是无法在GraphQL类型中表示这一点。制作一个中间类型,我将调用我的中间类型
type CLUSTER {
id: ID
}
type ARTICLE {
id: ID
}
type Intermediary {
}
并将您的集群
和文章
作为字段嵌入到类型中
type Intermediary {
cluster: CLUSTER
article: ARTICLE
}
然后在执行@cypper
指令时使用此类型
type Query {
myQuery: Intermediary @cypher(...)
}
当从cypher查询中投影值时,返回一个表示中介体的对象
类型
MATCH (c:CLUSTER)
WITH c
ORDER BY c.cluster_score DESC
LIMIT 5
MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE)
WITH c,a
ORDER BY a.article_score DESC
WITH c, collect(a)[..5] as articles
RETURN {
cluster: c,
articles: articles
}
匹配(c:集群)
用c
按c.cluster_score DESC排序
限制5
匹配(c)这是@cypher
指令中的密码吗?你好,是的,它是isHello@DanStarns谢谢,我要试试。你好@DanStarns,我试过你的代码,但我有一个错误,我不知道该怎么办。我可以给你看看吗?