25,985
社区成员
发帖
与我相关
我的任务
分享
[{
schoolId: 2,
rooms: [
"R001&15*7",
"R002&5*6",
"R003&5*6"
],
classes: [
{
classId: 2,
numbers: [
"S20160910452"
]
},
{
classId: 0,
numbers: [
"T201"
]
}
]
}]
let schoolInfo = {};
let classInfo = {};
async.series([function (cb) {
db.room.find({}, function (e, r) {
_.each(r, function (room) {
if (room.schoolId && room.number) {
if (!schoolInfo[room.schoolId]) {
schoolInfo[room.schoolId] = {
id: room.schoolId,
rooms: [],
classes: []
};
}
schoolInfo[room.schoolId].rooms.push(room.number);
}
});
cb(e, r);
});
}, function (cb) {
db.student.find({}, function (e, r) {
_.each(r, function (student) {
if (student.schoolId && student.classId && student.number) {
if (!classInfo[student.schoolId]) {
classInfo[student.schoolId] = {}
}
if (!classInfo[student.schoolId][student.classId]) {
classInfo[student.schoolId][student.classId] = {
classId: student.classId,
numbers: []
}
if (!schoolInfo[student.schoolId]) {
schoolInfo[student.schoolId] = {
schoolId: student.schoolId,
rooms: [],
classes: []
};
}
schoolInfo[student.schoolId].classes.push(classInfo[student.schoolId][student.classId]);
}
classInfo[student.schoolId][student.classId].numbers.push(student.number);
}
});
cb(e);
});
}, function (cb) {
db.teacher.find({}, function (e, r) {
_.each(r, function (teacher) {
if (teacher.schoolId && teacher.number) {
if (!classInfo[teacher.schoolId]) {
classInfo[teacher.schoolId] = {}
}
if (!classInfo[teacher.schoolId][0]) {
classInfo[teacher.schoolId][0] = {classId: 0, numbers: []}
if (!schoolInfo[teacher.schoolId]) {
schoolInfo[teacher.schoolId] = {
schoolId: teacher.schoolId,
rooms: [],
classes: []
};
}
schoolInfo[teacher.schoolId].classes.push(classInfo[teacher.schoolId][0]);
}
classInfo[teacher.schoolId][0].numbers.push(teacher.number);
}
});
cb(e);
});
}], function (e) {
let result = [];
for (var key in schoolInfo) {
let sif = {
schoolId: schoolInfo[key].schoolId,
rooms: schoolInfo[key].rooms,
classes: schoolInfo[key].classes
}
result.push(sif);
}
callback(e, result);
})