Структура агрегации MongoDB $ match по неиндексированным полям загружает всю коллекцию в память - PullRequest
0 голосов
/ 18 октября 2019

Я проиндексировал поля в коллекции Mongodb. Когда я выполняю запрос с aggregate([$matchByIndex, project]), он выполняет очень быстро ~ 100 тыс. Записей (Максимальная выделенная память 200 МБ).

Но если я попытаюсь отфильтровать также по некоторому конкретному полю aggregate([$matchByIndex, project, $matchByProjectResult]), Монго загрузит всю коллекцию в память (Allocпамять ~ размер коллекции 4 ГБ).

Я ожидаю, что когда конвейер выполнит первое совпадение, он будет выполнен очень быстро. и по наименьшему результату я сопоставлю свое поле.

...