Tenho o seguinte relacionamento:
(Thread)-[:HAS_MESSAGE]->(Message)
Um tópico pode ter de dezenas a milhares de mensagens.
Aqui está minha consulta para encontrar uma lista de tópicos e também retornar a mensagem mais recente de cada um, se existir.
MATCH (t:Thread)
OPTIONAL MATCH (t)-[:HAS_MESSAGE]->(m:Message)
WITH t, m
ORDER BY m.createdAt DESC
WITH t, COLLECT(m)[0] AS latestMessage
RETURN t, latestMessage
Estou com dificuldade para entender se há uma maneira de reescrever isso para evitar COLLECT(m)[0]
e, de alguma forma, usar apenas a mensagem mais recente?