Я вхожу в понедельник go в течение последних нескольких месяцев и недавно столкнулся с проблемой, на которую, похоже, не могу найти никаких ответов. Ситуация выглядит следующим образом -
- База данных A - ~ 60 м документов - Средний размер документа 500 Б
- База данных B - ~ 280 КБ документов - Средний размер документа 200 Б
Документы в базе данных B являются подмножеством некоторых документов из базы данных A, но с различными данными в них. Если я выполню $ match для обеих баз данных с указанными условиями c, то обе базы данных находят одинаковое количество документов ~ 50 000 за примерно одинаковое время (база данных B немного быстрее, но не массово).
Проблемы возникают на следующих этапах моей агрегации - $ group, оба документа группируются по одному и тому же полю и выводят счетчик для каждой группы, но время, которое требуется для этого, существенно отличается -
- База данных A - ~ 50000 мс
- База данных B - ~ 1000 мс
Из того, что я исследовал и понял сумму Mon go, оба этапа $ group должны занять гораздо больше сходства раз количество группируемых документов одинаково, хотя я понимаю, что средние размеры документов немного больше, что может добавить некоторую разницу во времени, но я думаю, что я что-то упускаю.
Любая помощь очень ценится!
Спасибо, Сэм.