按结果定义组的定义

时间:2016-07-26 06:20:14

标签: group-by sequelize.js

我试图通过 获得续集查询组的结果

但是当我想得到count的值时,它会显示未定义的

var models = require('../../config/sequelize');

models.device.findAll({
    attributes: [
        'type', 
        [models.sequelize.fn('count', models.sequelize.col('deviceId')),'count']
    ],
    group: ["device.type"]

    }).then(function (result) {

        result.forEach( function(e){

            console.log( e.count ) ;

        })
     }).catch(function(err) {
         console.log( "test group :"+JSON.stringify(err.message)) ;
}); ;

1 个答案:

答案 0 :(得分:0)

假设type和deviceId是实际的列名而不是别名,请尝试使用raw:true并使用sequelize设置列:

device.findAll({
    raw: true,
    attributes:[
        Sequelize.col('type'),
        [Sequelize.fn('count', Sequelize.col('deviceId')), 'count']
    ],
    group: [
        'device.type'
    ]
})
.then( devices => {
    console.log(devices.count); // or
    console.log(devices['count'])
})
.catch(/* */);