Задать вопрос

MongoDB, можно ли несколько запросов выполнить как один?

Возможно глупый вопрос, но всё же.. Есть коллекция "Пользователи". Есть три отдельных запроса: узнать количество пользователей с именем Вася, найти пользователей которые зарегистрировались сегодня и найти пользователей женского пола. Это три запроса не связанных между собой. Но выполняются они одним запросом к бекенду (выводятся в дашборд со статистикой). Сейчас делаю три отдельных через Promise.all. Есть ли в монге иструмент чтобы выполнить их за один и получить массив с ответами на каждый?
  • Вопрос задан
  • 519 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Можно попробовать соединить три запроса через $or в один мегазапрос. Скорее всего, результат вам придется в нодовском коде ручками разбирать на части, где Васи, где девочки. Есть шанс, что этот второй шаг возможно упростить с помощью aggregation framework.

Но зачем? Завтра требования поменяются, вместо девочек надо будет показывать стариков, и придется разбираться в монстроузном запросе и коде, который его обслуживает. Или обнаружится, что пользователи за сегодня выбираются некорректно. Или, что хуже всего, надо будет показывать пользователей еще и за неделю, а стариков показывать не вместо девочек, а рядом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lega
Нет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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