如何使用“findAll()”而不使用“raw:true”获取续集中的数据值?

Ale*_*exC 4 node.js sequelize.js

当我在sequelize中使用findAll()而不使用raw:true时我想获取数据值

        Activities.findAll({
         include: [
         {       
           all: true         
          }   
         ],  
       })
        .then(activities => {   
        });
Run Code Online (Sandbox Code Playgroud)

Viv*_*shi 5

如果没有raw:true,您必须循环遍历每个对象并从中获取值,如下所示:

Activities.findAll({
    include: [{
        all: true
    }],
}).then(activities => {
    return activities.map( activity => el.get({ plain: true }) );
});
Run Code Online (Sandbox Code Playgroud)

或者

raw : true.使用 include 时生成名称,该问题可以通过以下方式解决nest : true

Activities.findAll({
    raw : true ,
    nest: true , // <--- The issue of raw true, will be solved by this
    include: [{
        all: true
    }],
}).then(activities => {
    console.log(activities);
});
Run Code Online (Sandbox Code Playgroud)