Можете ли вы определить, какая агрегация отфильтровывает указанный документ в запросе агрегации Монго? - PullRequest
0 голосов
/ 30 сентября 2019

Контекст

Я использую запрос агрегации Монго для получения списка результатов. В запросе используется большое количество условий, и пользователям часто трудно понять, почему ожидаемый результат не возвращается. Чтобы решить эту проблему, я хочу создать инструмент «почему вы не обнаруживаете поисковый запрос X».

Проблема

В настоящее время я не знаю, как это сделать. определить, какой шаг агрегации привел к удалению результата.

Мысли Я хочу избежать побитового запроса агрегации, поскольку это, очевидно, будет невероятно неэффективным. Один из подходов, который я рассмотрел, может сработать - использовать агрегацию $bucket для сохранения удаленных результатов в новом поле для каждого шага. В конце агрегации я мог бы затем запросить эти сегменты, чтобы увидеть, какой из них содержит желаемый результат. Затем я мог бы определить, почему был удален результат, основываясь на поле сегмента.

Вопрос

Существует ли эффективный и чистый способ определить, в какой момент конкретный результат былотфильтрованы из запроса агрегации Монго?

...