Unwind или как-то так называется
так работает lookup, для него не имеет значения один к одному там или нет, просто формирует массив (может быть и пустым). Собственно выше уже сказали что можно использовать $unwind для разворачивания списка, но тут надо быть осторожным, т.к. если пустой список будет то ни одного дока это не породит. Если у вас известно что всегда будет только один объект, то можно через $project и $arrayElemAt вытащить объект с нулевого места и сохранить в какоето поле. Не знаю что будет если элемента там не будет, тут поэкпериментируйте или проверьте размер массива через $cond и $size прежде чем обращаться к элементу массива
понял, спасибо
Обсуждают сегодня