Выбери один из следующих подходов в зависимости от твоей архитектуры:
Храни уведомления в отдельной коллекции с учётом следующих моментов:
userId и readStatus для эффективного выполнения запросовПример TTL индекса:
db.notifications.createIndex({ "createdAt": 1 }, { expireAfterSeconds: 604800 })
Change Streams позволяют слушать события базы данных в реальном времени и возобновлять работу с конкретной точки, используя сохранённые resume tokens, что обеспечивает восстановление после сбоев слушателя без потери событий.
Новый — ещё не проверен сообществом
Вы