Есть такой код. Если вкратце то я делаю чатики и мне нужно достать 10 пользовательских диалогов и найти последнее сообщение в каждом диалоге. Проблема в том что, мне нужно как это сделать лимитировано, но не с начала документа.
exports.ChanelList = async (req, res) =>{
let userId = req.body.userId
const currentPage = req.query.page || 1
const perPage = 10
var totalItems
const chanels = await Chanel.find({User:userId})
.countDocuments()
.then(count => {
totalItems = count;
return Chanel.find({User:userId})
.skip((currentPage - 1) * perPage)
.limit(perPage)
})
.then(data => {
let promises = data.map(one => Message.find({DialogId:one._id})
.limit(1)
.then(data =>{ return ({message:data,dialog:one})}));
Promise.all(promises)
.then(responses => res.status(200).json(requests))
})
.catch(err => console.log(err))
}