我正在用Mongoose构建一个聊天应用程序,并且我有两个模型:
对话:{ 参与者[user1,user2], UpdatedAt, createdAt }
AND
消息:{ sessionId :, 内容:'' ... }
我正在使用分页从“会话”中检索包含最新发送的消息的20个文档
let conversations = await Conversation.paginate(
{participants: userID},
{
//select: '_id participants updatedAt createdAt',
populate: {
path: 'participants',
select: 'name lastName _id photoURL'
},
page: page,
limit: 20,
sort: {updatedAt: -1}
}
);
发送新消息时,将创建一个新的消息文档。但是,这不会更新会话的“ updatedAt”值。
为使上述代码正常工作,我需要在每次发送新消息时更新“对话”文档中的updatedAt值。
我的问题:
是否每次创建消息文档时都会更新会话文档中的updatedAt值的高性能方法?