Как объединить базы данных в mongoDB и получить нужный результат - PullRequest
0 голосов
/ 25 августа 2018

У меня есть база данных следующего типа -

var school= mongoose.model('School' ,{
    name : { type : String, minlength : 1, trim : true },
    email : { type : String, trim : true },
    password : { type : String, minlength : 8, },
    mobile : { type : Number, minlength : true },
    address : { type : String },
    description : { type : String },
    student : { type : Array },
});

Мой сайт является домом для многих школ, поэтому ученики должны видеть только учеников одной и той же школы.Для этого я создал другую таблицу для учащихся и ввел их уникальные значения в Student Array in School DB вместе с соответствующей базой данных учащихся.Как я могу быть в состоянии получить все данные ученика , если у меня есть массив учеников из School DB .....

1 Ответ

0 голосов
/ 25 августа 2018

Сначала вы должны запросить у школьной БД документ с этим конкретным идентификатором в поле «Массив ученика».Это простой запрос поиска, где вы запрашиваете у студента поле для идентификатора.Он будет искать весь массив для каждого документа.

school.findOne({ student : id});

Когда у вас есть конкретный школьный документ, вы можете использовать его поле ученика, чтобы получить массив всех учеников.Здесь вы можете выполнить запрос (найти) с помощью оператора $ in, и все студенты будут возвращены в виде массива.

https://docs.mongodb.com/manual/reference/operator/query/in/

...