документ в коллекции A имеет поле "relation_field", которое содержит ссылку либо на документ из коллекции B, либо на документ из коллекции C.
При помощи агрегации мне нужно вытащить все доки А + их поля relation_field.
Это должен быть единый массив в данной агрегации для дальнейшей сортировки + пагинации.
Я получается не могу в агрегации явно указать в лукапе в свойстве from откуда тянуть документ relation_field.
Это как-то надо проверить и правильно вытянуть?
Nestjs + mongodb + mongoose
facet + concatArrays. Отдельно лукап под каждый тип и склеивание. Но надо иметь ввиду, что match в facet не задействует индекс. Либо можешь сделать просто 3 лукапа друг за другом, но с разным alias и потом обеденить в одно поле. Либо выгрузить несколькими запросами и объединить кодом.
Обсуждают сегодня