Добрый день!
Сейчас имеется 3 коллекции, с таким форматом:
let item = {
_id: "...",
}
let itemGroup = {
_id: "..."
}
let relation = {
item_id: "...",
group_id: "..."
}
Раньше эта связь была one-to-one и в item был group_id, через связь с которым мы получали все поля при помощи агрегации вот такого типа:
group.aggregate([
{
$project: {
_id: {
$toString: '$_id',
},
title: 1,
order: 1,
},
},
{
$lookup: {
from: 'fields',
localField: '_id',
foreignField: 'group_id',
as: 'fields',
},
},
]);
Не могу понять, как сделать одним запросом двухуровневую агрегацию - вначале получить все связи, а через нее все элементы. Сейчас разделил это на два запроса, но понмание того что это можно сделать одним прямо спать не дает)