我试图通过 获得续集查询组的结果
但是当我想得到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)) ;
}); ;
答案 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(/* */);