0

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

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) 
       }
    """) 
}

返回:

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

值低和高是什么意思?

谢谢!

4

2 回答 2

1

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

于 2022-02-05T10:36:56.383 回答
0

感谢@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 
  }
}

谢谢!

于 2022-02-05T23:15:14.850 回答