为什么在 neo4j 中使用 count 函数和 graphql returns 两个值称为 low 和 high?

Why using the count function in neo4j with graphql returns two values ​called low and high?

如果我在 Neo4j 浏览器中执行以下密码 returns 预期值

MATCH (n:Document)
RETURN { 
    year: n.year ,
    countdocs : COUNT(n) 
}

结果:

{"countdocs":3,"year":"2018"}    

但是如果我在 neo4j-graphql 中执行相同的密码

type Query {
    totalActivityOverTime: [JSONObject] @cypher(statement: """
       MATCH (n:Document)
        RETURN { 
         year: n.year ,
         countdocs : COUNT(n) 
       }
    """) 
}

returns :

  {
    "countdocs": {
      "low": 3,
      "high": 0
    },
    "year": "2018"
  },

低值和高值是什么意思?

谢谢!

我认为这取决于 countdocs 的类型。据我所知,如果你在 neo4j-graphql 中将 'countdocs' 定义为 BigInt,它 returns 一个带有 {"low": Int, "high": Int} 的字典,以便代表 64 位整数。在架构中将 countdocs 定义为 Int 应该可以解决问题。 Int 类型最多支持 53 位值

感谢@Sbunzini 和@stdob-- 我找到了解决方案:

架构:

type Activity{
  year: String
  countdocs: Int
}

type Query {
    totalActivityOverTime: [Activity] @cypher(statement: """
       MATCH (n:Document)
        RETURN { 
         year: n.year ,
         countdocs : COUNT(n) 
       }
    """) 
}

GraphQL:

{
  totalActivityOverTime{
    year
    countdocs 
  }
}

谢谢!