209 похожих чатов

Всем привет, использую mongodb. Задача такая, что есть список чатов

с сообщениями. У каждого сообщения есть дата отправки. Когда на клиенте я запрашиваю список чатов нужно фильтровать их по дате последнего сообщения. На данный момент использую обычный sort() из JS. Работает медленно, при том что данных не так много. Есть какой-то другой вариант? Знаю что есть sort() напрямую в запросе mongodb , но пока не понял как его использовать в моем случае.
Схема такая:
{ dialogId: string; messages: IMessage[]; }
IMessage {
content: string,
messageId: string,
sendAt: string,
senderId: string,
isRead: boolean,
status: boolean,
isFile: boolean,
}

2 ответов

13 просмотров

покажи еще сам запрос в бд как выглядит

Нужно проиндексировать коллекцию по дате отправки и использовать sort() в запросе. Тогда будешь выдергивать их из базы почти мгновенно в нужном порядке

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

Обсуждают сегодня

Карта сайта