Я хотел бы написать запрос для получения данных из mongodb, у меня есть три коллекции - книги, учителя, ученики. В коллекции книг есть bookName и_id, в коллекции учителей --_ id, teacherName и TeacherId, в коллекции учеников _id , studentName, teacherId…. У меня есть studentName как S1 и teacherName как T1 со мной, как я могу получить запись студента с именем S1, у которой также есть teacherId как имя T1 (из коллекции учителей) из коллекции студентов ... eg. select _id from student where studentName =S1 and teacherId=(select techerID from techer where teacherName = T1)… how can I write this query in node using agregation
books.aggregate([
{
'$match': {
'name': 'book1' }
}, {
'$lookup': {
{ from :students,
'$match': {
'name': 'Annie' }
},
'from': 'teachers', // collection name of the teachers
'localField': 'teacherId',
'foreignField': '_id',
'as': 'teachers'
}
}, {
'$match': {
'teachers': {
'$elemMatch': {
'teacherName': 'Jones'
}
}
}
}
])`