【问题标题】:sequelize group by result undefinedsequelize group by result undefined
【发布时间】:2016-07-26 06:20:13
【问题描述】:

我正在尝试从 sequelize query group by

中获取结果

但是当我想获取 count 的值时,它显示 undefined

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

【问题讨论】:

    标签: group-by sequelize.js


    【解决方案1】:

    假设 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(/* */);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-30
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      相关资源
      最近更新 更多