安排如何变换对象列表

时间:2019-03-15 04:23:06

标签: node.js sequelize.js

我有这个代码

employees = []

async function fillEmployeesList() {
    await Employe.findAll().then(allEmployes => {
        employees = allEmployes;
        console.log('All employees: ' + allEmployes[0].nom);
    });
}

我想将原始对象转换为正确的员工对象,我该怎么做?因为allEmployes当前是sequelize对象的列表,所以我希望它成为Employee对象的列表,怎么办? (抱歉,英语不是我的母语)

4 个答案:

答案 0 :(得分:1)

您可以尝试

employees = []
 async function fillEmployeesList() {
    const allEmployees = await Employe.findAll();
    employees = allEmployees.map(employee => {
    return employee.toJSON();
 });
}

im仅添加此返回的employee.toJSON();代码行。

答案 1 :(得分:0)

如果您希望不使用回调直接将员工数据分配给变量,并根据需要操作这些数据,您可以这样做。

employees = []

async function fillEmployeesList() {
    const allEmployees = await Employe.findAll();
    employees = allEmployees.map(employee => {
        return {"nom", employee.nom, "other_key": employee.name};
    })
    console.log(employees);//will print employees modified data
}

答案 2 :(得分:0)

您可以尝试

employees = []

async function fillEmployeesList() {
await Employe.findAll({raw: true}).then(allEmployes => {
    employees = allEmployes;
    console.log('All employees: ' + allEmployes[0].nom);
});
}

答案 3 :(得分:0)

如果您只需要原始数据而又不想更新任何内容,则可以这样做以获取原始数据。

employees = []

async function fillEmployeesList() {
await Employe.findAll({raw: true}).then(allEmployes => {
    employees = allEmployes;
    console.log('All employees: ' + allEmployes[0].nom);
});
}

您可以在此处阅读有关内容。 http://docs.sequelizejs.com/manual/models-usage.html#raw-queries