예를 들어, 3개의 다른 그룹이 언급된 게시물이 있다고 가정해 보겠습니다. 이 게시물이 수정되어 4번째 언급이 추가되었습니다.
수정을 저장할 때, 이 쿼리를 사용하여 해당 게시물의 현재 그룹 언급 목록을 찾을 수 있습니다.
-- [params]
-- text :post_id
select gm.group_id, g.name
from group_mentions gm
join groups g on (gm.group_id = g.id)
where post_id = :post_id
그 다음, 쿼리 결과를 게시물의 현재 그룹 언급 목록과 비교하여 새로운 언급을 찾을 수 있습니다.
이것은 매우 큰 계산은 아닌 것 같지만, 제가 뻔한 것을 놓치고 있는지도 모릅니다. 또한 이것은 백그라운드 작업으로 처리할 수 있는 유형의 작업처럼 보입니다.
그룹(들)에 대한 알림에 관한 JIT 배너와 관련하여, 이 로직을 API 엔드포인트(/post/<id>/mentions.json)로 노출하여 이 데이터를 비동기적으로 가져올 수 있도록 하는 것이 가능할 것입니다.