1
我有以下查詢:檢查用戶是否喜歡這個崗位
MATCH (user:User)-[:CREATED]->(post:Post)
WITH user, post
ORDER BY post.createdAt DESC
OPTIONAL MATCH (post)<-[:BELONGS_TO]-(comment:Comment)<-[:COMMENTED]-(:User)
WITH user, post, liked, comment
ORDER BY comment.timestamp DESC
WITH user, post, liked, COLLECT(comment)[0..4] AS comments
RETURN post,
{ username: user.username,
firstName: user.firstName,
lastName: user.lastName,
profilePicture: user.profilePicture
} AS createdBy,
size((post)<-[:LIKES]-(:User)) AS likes,
liked,
comments
SKIP {skip}
LIMIT {limit}
的查詢獲取職位列表,並計算出其他的東西,如: GET發表評論,得到是誰創造的帖子的用戶,得到的總數喜歡。
我還需要計算,如果我喜歡這個帖子或不是,這將導致:userLiked(true | false)。
我想的是一樣的東西:
OPTIONAL MATCH (post)<-[userLiked:LIKES]-(:User {uuid: {userUUID}})
對於這個SKIP和LIMIT - 如果我想分頁結果不起作用。 –
啊,如果你想先按評論時間戳排序,這是有道理的。我將SKIP和LIMIT移到了返回之前,這應該仍然可以避免對您計劃返回的頁面中未包含的結果進行不必要的操作。 – InverseFalcon
基本上,我希望最新的帖子首先包含每篇帖子的最新評論。看起來你編輯的文章工作正常。謝謝! –