Bury results that are already viewed by user

We are a news / social app where we would like to promote the objects which are not seen by user yet. We are already logging the view events with Object IDs. How can we demote the results based on the events we already have?