需要在每个页面上显示用户的单个帖子Neo4j Cypher
我想通过CreatedDateTime按降序显示每个页面上每个用户的单个帖子需要在每个页面上显示用户的单个帖子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
例如:
如果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个用户的第二篇帖子。但在第三页上没有显示任何数据。如何处理?请帮忙。谢谢