我正在尝试提取聊天对象列表的最后一条消息(包含多个消息)。
我已经开始工作了,但是我在运行查询时随机注意到,它为合并了最后一条消息的数组返回空结果。
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,但它们都不起作用。