Как правильно выполнить lazy loading в nodejs mongodb?
Здравствуйте!
Допустим мне нужно получить последние 100 сообщений для чата. Когда пользователь их пролистает нужно загрузить ещё 100 и т.д. Однако до выполнения загрузки второй партии сообщений, могут появиться новые сообщения (следовательно вторая партия уже не будет занимать позиции с 101 до 201).
Как правильно выполнить lazy load в таком случае?
Нашёл такой вариант:
1. Запомнить метку времени самого позднего сообщения из первой партии
2. Сформировать массив ids сообщений с такой же меткой времени
3. Вместе с запросом второй партии сообщений передать метку времени и этот массив
4. Запрос к бд должен вернуть сообщения старше или равные данной метки времени, но не включать сообщения с ids из массива.