gpt4 book ai didi

mysql - Sequelize 原始查询以将数据作为数组返回

转载 作者:行者123 更新时间:2023-12-03 22:35:50 25 4
gpt4 key购买 nike

我目前的输出是:

{
"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;
});


但这似乎有点多余,因为我觉得应该有某种配置。

最佳答案

Sequelize 必须将一个领域与另一个领域区分开来。这就是为什么查询中的所有字段都被命名的原因,这样您就可以确切地知道在哪些字段中获得了哪些值。

关于mysql - Sequelize 原始查询以将数据作为数组返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60831727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com