Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要在每个页面上显示用户的单个帖子Neo4j Cypher_Neo4j_Subquery_Cypher - Fatal编程技术网

需要在每个页面上显示用户的单个帖子Neo4j Cypher

需要在每个页面上显示用户的单个帖子Neo4j Cypher,neo4j,subquery,cypher,Neo4j,Subquery,Cypher,我想通过CreatedDateTime按降序显示每个页面上每个用户的单个帖子例如:如果John创建了三个帖子 1月31日09:00发布 1月31日10:00发布B 1月31日11:00发布C 因此,所需的输出应该是 第1页应显示帖子C 第2页应显示帖子B 第3页应显示帖子A 这意味着在一个页面上会有20篇针对20个不同用户的帖子 到目前为止,我编写了这个查询,它显示了第一页上的所有帖子 MATCH (p:Posts)-[:CREATED_BY]->(u:User) WHERE p.Cr

我想通过CreatedDateTime按降序显示每个页面上每个用户的单个帖子
例如:
如果John创建了三个帖子
1月31日09:00发布
1月31日10:00发布B
1月31日11:00发布C

因此,所需的输出应该是
第1页应显示帖子C
第2页应显示帖子B
第3页应显示帖子A

这意味着在一个页面上会有20篇针对20个不同用户的帖子

到目前为止,我编写了这个查询,它显示了第一页上的所有帖子

 MATCH (p:Posts)-[:CREATED_BY]->(u:User)
 WHERE p.CreatedDateTime >= datetime('2021-01-31')
 RETURN p, u
 ORDER BY datetime(p.CreatedDateTime) DESC
 SKIP 0
 LIMIT 20
我知道,需要使用一些子查询,但不知道如何做

TYIA

您可以:

 MATCH (p:Posts)-[:CREATED_BY]->(u:User)
 WHERE p.CreatedDateTime >= datetime('2021-01-31') 
 WITH p, u
 ORDER BY datetime(p.CreatedDateTime) DESC
 WITH u, collect(p)[$page] as post
 WHERE NOT post is null
 RETURN u, post
这使您可以始终增加页码,始终是最新的帖子
有了apoc,您可以使用apoc.agg.nth(p,$page)

这似乎有效,但当我设置SKIP时,限制了。它限制了用户数量,但没有限制帖子。假设我们有两篇由1000名用户创建的帖子。在一个页面上,我限制显示10个用户的帖子。所以这意味着在第一页上,它将显示每个用户的第一篇文章。然后在2号,它将显示接下来10个用户的第二篇帖子。但在第三页上没有显示任何数据。如何处理?请帮忙。谢谢