为什么在 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
}
}
谢谢!
如果我在 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
}
}
谢谢!