Mongoose Find с проекцией случайно пропускает обратный вызов - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь получить последнее сообщение из списка объектов чата (которые содержат несколько сообщений).

Я приступил к работе, но случайно заметил, что при выполнении запроса он возвращает пустые результаты для моего массива, объединяющего последние сообщения.

const lastMessages = [];
    const messages = await Chat.find(
      {
        $and: [
          {
            $or: [
              { participants: req.user.profileID },
              { invited: req.user.profileID }
            ],
            active: true
          }
        ]
      },
      { messages: 1, _id: 0 },
      (err, res) => {
        if (err) {
          console.log("Error: ", err.message);
        }
        _.forEach(res, function(value) {
          lastMessages.push(_.last(value.messages));
        });
      }
    );
return lastMessages;

Есть идеи, почему это может происходить? Я пробовал асинхронное ожидание и использование .then, и ни один из них не работает.

...