繁体   English   中英

Neo4j,Cypher使用COUNT与COLLECT返回JSON

[英]Neo4j, Cypher Use COUNT with COLLECT to return JSON

我正在尝试返回这样的JSON对象:

{   "rels": [
    {
      "rel": "type_1",
      "foos": 15
    },
    {
      "rel": "type_2",
      "foos": 2073
    },
    {
      "rel": "type_3",
      "foos": 23
    }   ] }

使用查询。

MATCH (n:bar)<-[r:REL]-(n1:foo)
WHERE n.bar_id='1234567890'
RETURN collect({rel: r.rel_status, foos: count(r.rel_status)}) AS rels

REL关系具有称为rel_status的属性。

错误:无法在聚合函数内部使用聚合函数。

这是因为您试图在collect()使用count() collect() ,这是不允许的。 您需要一次完成这些步骤。

MATCH (n:bar)<-[r:REL]-(:foo)
WHERE n.bar_id='1234567890'
WITH r.rel_status as rel, count(r) as foos
RETURN collect({rel: rel, foos: foos}) AS rels

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM