В моем mongodb есть 2 сборника с именами "учитель" и "курс", а структуры как показано ниже
учитель
{
"rating": 4,
"teacher_id": "123",
"course_count": 1,
},
{
"rating": 5,
"teacher_id": "456",
"course_count": 4,
}
курс
{
"teacher_id": "123",
"advanced": true,
},
{
"teacher_id": "456",
"advanced": false,
}
Я хочу найти, какой преподаватель курса преподает менее 2 курсов, а курс продвинутый - True.
Результат, который я хочу
{
"teacher_id": "123",
"advanced": true,
}
Я пробовал
db.getCollection('course').aggregate([
{"$limit": 10 },
{ "$lookup" : {
"localField": "teacher_id" ,
"from": "teacher" ,
"foreignField": "teacher_id" ,
"as": "teacher"
}},
{"$unwind": {path: '$teacher', preserveNullAndEmptyArrays: true}},
{'$match': {
'advanced': true,
'teacher.course_count': {'$lt': 2}
}}
])
Но, похоже, не работает, кто-нибудь может мне помочь? Спасибо!