Я использую 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 для коллекции