Ich habe diese Abfrage DISTINCT Eigenschaft haben, die alle von der Beiträge des Benutzers zurückgibt, die kommentiert wurden: Dies funktioniert, dass neben großenWie DISTINCT Knoten sammeln, die
MATCH (author:User {user_id: { user_id }})
MATCH (post:Post)<-[:AUTHOR]-(author)
WHERE post.createdAt < { before }
MATCH (post)-[:HAS_COMMENT]->(comment:Comment)<-[:AUTHOR]-(commentAuthor:User)
WHERE NOT author.user_id = commentAuthor.user_id
WITH
author,
post,
comment,
commentAuthor,
count(DISTINCT commentAuthor) as participantsCount,
count(comment) as commentsCount
ORDER BY comment.createdAt DESC
RETURN collect(DISTINCT post {
.*,
author,
commentAuthor,
commentCreatedAt: comment.createdAt,
participantsCount,
commentsCount
})[0..{ LIMIT }] as posts
, wenn der gleiche Benutzer entscheidet und Kommentare Troll Im selben Post mehrmals wird dieser Post für denselben Benutzer mehrfach zurückgegeben. Dies macht für einige Spam-Benachrichtigungen:
user1 commented on your post "what's your favorite book?"
user2 commented on your post "what's your favorite movie?"
user3 commented your post "what's your favorite show?"
user3 commented your post "what's your favorite show?"
user3 commented your post "what's your favorite show?"
^alle user3 Kommentare für diesen Beitrag
Wenn möglich zurück zu bekommen, würde Ich mag nur die unterschiedlichen Beiträge mit deutlichen Kommentar Autor, nach jüngsten bestellt sammeln.
user1 commented on your post "what's your favorite book?"
user2 commented on your post "what's your favorite movie?"
user3 commented your post "what's your favorite show?"
^nur Renditen user3 jüngster Kommentar
Ich bin im Grunde genommen entlang der Linien von etwas zu tun versucht:
collect (DISTINCT post { DISTINCT commentAuthor ... ])
Soweit ich sagen kann, Ihre Abfrage würde immer 1 für TeilnehmerCount und commentsCount für jede Zeile zurückgeben. Siehst du das auch, oder bekommst du die erwarteten Ergebnisse? – InverseFalcon
Guter Fang ... Ich zeige das nicht sofort in der Benutzeroberfläche an, also habe ich es verpasst, aber ja, es wird fälschlicherweise 1 - 1 für diese Anzahl zurückgegeben. – kayla
Arbeiten an einer alternativen Abfrage. Ist 'comment.createdAt' ein numerischer Zeitstempel? – InverseFalcon