сохраняешь в браузере количество элементов на странице, например articlesLoaded = 10
когда доскролливаешь до последнего загруженного элемента на странице, то браузер делает запрос на сервер, получает ответ и дорисовывает новые элементы, заодно сохраняет новое количество элементов на странице, например articlesLoaded = articlesLoaded + 10
fetch('/api/getmore?skip=' + articlesLoaded).then(.....)
на стороне сервера/mongo делаешь подобный запрос
const newArticles = await Article.find({}).limit(10).skip(req.query.articlesLoaded)
https://beginnersbook.com/2017/09/mongodb-limit-an...