Ну, в этом случае вам нужно получить все документы из этих коллекций. Это будет немного дорогостоящая агрегация, но я добавляю сюда в коде:
Во-первых, я группирую по нулю, чтобы избежать добавления значения поиска к каждому отдельному документу в коллекции учителей.
db.teacher.aggregate([
{
$group:{
"_id":null,
"root":{
$push:"$$ROOT"
}
}
},
{
$lookup:
{
from:"subject",
pipeline: [],
as: "subjectLookup"
}
},
{
$lookup:
{
from:"book",
pipeline: [],
as: "bookLookup"
}
},
{
$lookup:
{
from:"student",
pipeline: [],
as: "studentLookup"
}
}
]).pretty()
Эти поиски дадут массив, который содержит все документы из соответствующих коллекций, вы можете ограничить документы, добавив этап $match
в конвейер этапа поиска.
Надеюсь, что это решит вашу проблему: )