Статус (по состоянию на 5/6/2020): Решено, см. Определенный ответ ниже.
Я надеюсь, что все хорошо, несмотря на глобальный кризис, который мы переживают прямо сейчас. В настоящее время я занимаюсь школьным веб-проектом, и мне нужно отрисовать назначенную мне особенность c. Я использую Пн goose с Express и Handlebars для шаблонов. См. Прилагаемую схему и пояснения к модели ниже.
CollegeModel - Коллекция A
var collegeSchema = new Schema({
shortName: {type: String}, //value that I intend to synchronously query its occurrence with Collection B
longName: {type: String},
logo: {type: String},
contactUs:{
telNum: {type: String},
faxNum: {type: String},
email: {type: String}
},
aboutUs: {type: Array},
visionMission: {type: String},
coreValues: {type: String},
goals: {type: String},
founderBio: {type: String},
philosophy: {type: String},
icon: {type: String}
});
ProfessorModel - Коллекция B
var professorSchema = new Schema({
profNumber: {type: Int32},
college: {type: String}, //value to be compared with shortName
gender: {type: String},
profName: {type: String},
profCourse: {type: String}
});
Псевдокод - Желаемая логика c должна быть достигнута
app.get('/testCount', function(req,res) {
collegeModel.find({}).lean().exec(function(err,collegeRes){
var collegeObject = [];
collegeRes.forEach(function(document){
professorModel.countDocuments({college:document.shortName}, function(err2,professorCount){
document.count = professorCount;
collegeObject.push(document); //doing a console.log(collegeObject) would return empty objects [].
});
});
});
});
Я не знаю, что я делаю неправильно, и я знаю, что document.count существует, поскольку он возвращает значение каждый раз, когда я делаю console.log (document.count), но когда оно выдвигается, оно становится []. Надеюсь, ты сможешь помочь мне достичь моей цели. Спасибо!