【发布时间】:2020-07-04 23:43:36
【问题描述】:
我目前的输出是:
{
"students": [
{
"email": "studenthon@gmail.com"
},
{
"email": "studentjon@gmail.com"
}
]
}
我想要实现的是:
{
"students" :
[
"studenthon@gmail.com",
"studentjon@gmail.com"
]
}
我如何摆脱“电子邮件”并将它们全部放入一个数组中?
我的 sequelize 原始查询如下:
const studentsFound = await db.sequelize.query(
"SELECT email FROM TeacherStudents INNER JOIN Students on TeacherStudents.studentId = Students.id WHERE teacherId IN (:teachersIds) GROUP BY studentId HAVING COUNT(DISTINCT teacherId) = :arrayLength ",
{
replacements: {
teachersIds: ArrayOfIds,
arrayLength: ArrayOfIds.length
},
type: db.sequelize.QueryTypes.SELECT
}
);
我目前的解决方案是
let commonStudentEmail = studentsFound.map(student => {
return student.email;
});
但这似乎有点多余,因为我觉得应该有某种配置。
【问题讨论】:
标签: mysql postgresql sequelize.js