Всем привет У меня есть коллекция с 160м документами. И мне

надо посчитать количество документов по определенным фильтрам. Но этот процесс занимает так много времени около 10 минут.
Как можно оптимизировать?

14 ответов

16 просмотров

Как часто?

Дара- Автор вопроса
yopp 💉💉
Как часто?

Это все зависитт от конечного пользователя

Дара
Это все зависитт от конечного пользователя

В таком случае по этим фильтрам необходимо построить индексы

Дара- Автор вопроса
yopp 💉💉
В таком случае по этим фильтрам необходимо построи...

Я сделал, но один индекс вызвает проблемы. Не могу построить индекс для ординарного поля и встроенного поля в одном индексе. Когда делаю запрос в таком ввиде {$and: [ {t: {$gte:"2020-09-07T00:00:00", $lte: "2020-09014T23:59:59" }}, {n: {$in:[1006]}}, {"d.r": {$eq:"non-staff"}} ]} не видно индекса, то есть он не видит созданный мной индекс. Вот скрин моих созданных индексов

Дара- Автор вопроса
Дара- Автор вопроса
Viktar
Меня смущает размер ваших индексов

Собираюсь удалить не нужные

Дара- Автор вопроса
Viktar
Меня смущает размер ваших индексов

Я в mongoDB новичок, а сколько индексов должно быть?

Дара- Автор вопроса
Дара
Я в mongoDB новичок, а сколько индексов должно быт...

Размер в кило, мегабайтах. У вас есть индексы в гигабайт, а есть в 4 килобайта

Дара- Автор вопроса
Viktar
Размер в кило, мегабайтах. У вас есть индексы в ги...

Ясно. Стандарт это килобайт или мегабайты

Дара
Вот сам документ

Возможно вам больше подойдёт Attribute-Value модель для таких данных Те поля по которым вы хотите фильтровать сложите в массив документов attrs: [{a: “t”, v: DateTime}, ...] Сделайте компаунд индекс attrs.a, attrs.v

Дара
Ясно. Стандарт это килобайт или мегабайты

В вашем случае, последние два индекса должны быть не меньше 800 МБ

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
8
🙋 Ребята, всем привет. Поправил задачу: Нужно каждому новому сообщению (1 раз по каждому юзеру) в чате прибавлять снизу кнопку с предложением подписаться на канал. Как добавит...
Alexander
1
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
1
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Карта сайта