-
-
Save warmbowski/82aa550400f989fa3f2e to your computer and use it in GitHub Desktop.
'use strict'; | |
var async = require('async'); | |
var Enrollment = require('../models/enrollment'); | |
var Student = require('../models/student'); | |
var Course = require('../models/course'); | |
module.exports = function(app) { | |
app.get('/api/studentsincourse/:courseId', function(req, res) { | |
Enrollment.find({courseId: req.params.courseId}, function(err, enrollments) { | |
var studentsList = []; | |
async.forEach (enrollments, function(enrollee, callback) { | |
console.log('Processing ', enrollee); | |
Student.findOne({_id: enrollee.studentId}, function(err, students) { | |
console.log(students); | |
studentsList.push(students); | |
}); | |
callback(); | |
}); | |
console.log(studentsList); | |
res.send('worked') | |
}); | |
}); | |
}; |
My database seed from the mongo console:
db.courses.insert({courseName: "Calculus"})
WriteResult({ "nInserted" : 1 })
db.courses.insert({courseName: "Chemistry"})
WriteResult({ "nInserted" : 1 })
db.courses.insert({courseName: "History"})
WriteResult({ "nInserted" : 1 })
db.students.insert({studentName: "Fredford"})
WriteResult({ "nInserted" : 1 })
db.students.insert({studentName: "Cornelius"})
WriteResult({ "nInserted" : 1 })
db.students.insert({studentName: "Gertrude"})
WriteResult({ "nInserted" : 1 })
db.enrollments.insert({studentId: "5460f5a6c35c21f0afbe8dcd", courseId: "5460f53cc35c21f0afbe8dca"})
WriteResult({ "nInserted" : 1 })
db.enrollments.insert({studentId: "5460f5b4c35c21f0afbe8dce", courseId: "5460f554c35c21f0afbe8dcb"})
WriteResult({ "nInserted" : 1 })
db.enrollments.insert({studentId: "5460f5c9c35c21f0afbe8dcf", courseId: "5460f567c35c21f0afbe8dcc"})
WriteResult({ "nInserted" : 1 })
db.enrollments.insert({studentId: "5460f5a6c35c21f0afbe8dcd", courseId: "5460f567c35c21f0afbe8dcc"})
WriteResult({ "nInserted" : 1 })
db.enrollments.insert({studentId: "5460f5b4c35c21f0afbe8dce", courseId: "5460f567c35c21f0afbe8dcc"})
WriteResult({ "nInserted" : 1 })
console.log() outputs to console by the code above:
paul$ node server.js
server running on port: 3000
Processing { _id: 5460f6d9c35c21f0afbe8dd2,
studentId: '5460f5c9c35c21f0afbe8dcf',
courseId: '5460f567c35c21f0afbe8dcc',
verified: false }
Processing { _id: 5460f6f9c35c21f0afbe8dd3,
studentId: '5460f5a6c35c21f0afbe8dcd',
courseId: '5460f567c35c21f0afbe8dcc',
verified: false }
Processing { _id: 5460f70cc35c21f0afbe8dd4,
studentId: '5460f5b4c35c21f0afbe8dce',
courseId: '5460f567c35c21f0afbe8dcc',
verified: false }
[]
{ _id: 5460f5c9c35c21f0afbe8dcf, studentName: 'Gertrude' }
{ _id: 5460f5a6c35c21f0afbe8dcd, studentName: 'Fredford' }
{ _id: 5460f5b4c35c21f0afbe8dce, studentName: 'Cornelius' }