Итак, у меня есть одна коллекция, которую я хотел бы запросить / объединить.Запрос состоит из нескольких частей, которые объединены или.Для каждой части запроса у меня есть определенный набор полей, которые необходимо показать.
Поэтому я надеялся сделать это с помощью агрегата, который будет $ соответствовать запросам ИЛИВсе вместе, а затем используйте $ project с $ cond , чтобы увидеть, какие поля необходимы.Проблема здесь в том, что $ cond использует выражений , в то время как $ match использует запросов .Что является проблемой, поскольку некоторые функции запроса не доступны в качестве выражения.Так что простое преобразование не вариант.
Так что мне нужно другое решение ... - Я мог бы просто создать агрегат для отдельного запроса, потому что там я знаю, какие поля сопоставлять, и они объединяют результаты вместе.Но это не будет работать, если я использую нумерацию страниц в запросах (лимит / пропуск и т. Д.).- найти какой-то другой способ пометить каждый документ, чтобы я мог (впоследствии) удалить любые ненужные поля.Это может быть не очень эффективно, но будет работать.Пока не знаю, как это сделать - придумать способ сделать запросы, которые состоят только из выражений.Для моей цели это может быть достаточно, и это будет означать переписывание анализатора запросов.Это могло бы работать, но не идеально.