Для осуществления выборки новых данных из базы данных можно использовать различные методы. Например, если используется SQL база данных, то можно написать запрос на выборку данных с условием, что значение в определенном столбце больше чем значение последнего выбранного идентификатора.
Если нужно обработать как существующие, так и новые записи из таблицы chats, то одним из способов может быть использование транзакций. В рамках транзакции можно сначала выбрать все существующие записи из таблицы chats, обработать их, а затем начать новую транзакцию и выбрать только те записи, которые появились после начала первой транзакции. Таким образом, можно гарантировать обработку только новых записей, которые появились во время цикла обработки коллекции.