Улучшение производительности запроса mon goose - PullRequest
0 голосов
/ 28 января 2020

Я использую mon goose для выполнения некоторых запросов регулярных выражений в MongoDB. Однако, когда я делаю такой запрос

this.model
  .find(filter)
  .limit(args.limit)
  .skip(args.skip)
  .sort(args.sort)
  .hint()
  .lean()

, время для получения результата составляет от 3 до 5 секунд в коллекции с документами, не относящимися к событию 1000. Если я делаю тот же запрос в оболочке mon go, он выполняется примерно за 100 мс. Я за исключением некоторых различий между выполнением запроса на БД напрямую и выполнением его из драйвера, но здесь задержка действительно огромна, и я не понимаю, почему. Поле, с которым я делаю регулярное выражение, также индексируется. Я также попытался выполнить почти тот же запрос с помощью структуры агрегации, но безуспешно

this.model.aggregate([{$match: filter}, {$skip: args.skip}, {$limit: args.limit}])

this.model - модель mon goose для коллекции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...