IDONTSUDO
@IDONTSUDO
ЧСВ программистов идет в комплекте с первой IDE.

MongoDB достать последний добавленный документ?

Есть такой код. Если вкратце то я делаю чатики и мне нужно достать 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))
}
  • Вопрос задан
  • 328 просмотров
Решения вопроса 1
IDONTSUDO
@IDONTSUDO Автор вопроса
ЧСВ программистов идет в комплекте с первой IDE.
.sort({'_id':-1}).limit(1)

нашел такое решение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы