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

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

14 ответов

13 просмотров

Как часто?

Дара- Автор вопроса
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 МБ

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

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

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта