{
_id: 'uniquewId',
programs: [
{
progress: '5',
addedBy: 'coach'
exercises: [
{
date: '1/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'situp',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
},
{
date: '2/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'situp',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
}
]
},
{
progress: '5',
addedBy: 'coach2'
exercises: [
{
date: '1/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'situp',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
},
{
date: '2/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'situp',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
}
]
}
]
}
Это выше, как выглядит мой документ. Есть ли способ, которым я могу проецировать массив программ, чтобы он имел документы, которые имеют addedBy = 'coach'
, а массив упражнений внутри массива упражнений должен иметь только exId = 'pushup'
вывод, который я хочу:
{
_id: 'uniquewId',
programs: [
{
progress: '5',
addedBy: 'coach'
exercises: [
{
date: '1/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
},
{
date: '2/12/20',
exercises: [
{
exId: 'pushup',
progress: 5
},
{
exId: 'pushup',
progress: 0
}
]
}
]
}
]
}
программный массив может иметь более одного документа с addedBy='coach'
, если так, то все должно быть там:)