我正在编写一个 api 来返回 neo4j 数据。对于我的情况,我得到所有匹配的节点。API 接受 userId、limit 和 offset 并返回符合该条件的数据列表。
我找到了一个解决方案Cypher 来返回总节点数以及有限的集合,但它相当旧。不确定这是否仍然是最好的方法。
性能与触发 2 个单独的查询相同,至少其中一个查询在几次运行后会被 Neo4j 缓存。
Match(u:WorkstationUser {id: "alw:44807"})-[:HAS_ACCESS_TO]->(p) return distinct(p) skip 0 limit 10
Match(u:WorkstationUser {id: "alw:44807"})-[:HAS_ACCESS_TO]->(p) return count(distinct(p))
Run Code Online (Sandbox Code Playgroud)
我希望结果是这样的
{
items: [ {}, {}], # query 1
total: 100, # query 2
limit: 10, # can get from input
skip: 0 # can get from input
}
Run Code Online (Sandbox Code Playgroud)