nodejs 使用 sequelize 查 mysql 报错

学习和使用nodejs的 sequelize 查询数据库时报错,查了很多资料,由于 对 sql 不了解, 不知道是什么原因导致的, 请各位大佬指教

数据库数据

nodejs 使用 sequelize 查 mysql 报错

执行的代码

app.get( '/all', async ( req, res, next ) => {

// console.log( typeof models.Sequelize.fn );

let all = await models.Todo.findAll({

attributes: [

'content', 'name', 'status', 'id', 'deadline',

[ models.sequelize.fn( 'COUNT', models.sequelize.col('content') ), 'contents' ]

]

});

res.json({

data: {

...all

},

code: 200,

message: '查询成功'

});

});

报错信息

nodejs 使用 sequelize 查 mysql 报错

问题二

如图所示 使用 pm2 list 展示的信息
其中对于 user 的来源甚是费解, 不知道这个 user 是读取了什么的信息, 请大佬指点
nodejs 使用 sequelize 查 mysql 报错

上面报错翻译成中文的意思是:
"在没有group by的聚合查询中,使用conut聚合函数,与模式ONLY_FULL_GROUP_BY不符"
换句话说,也就是启用了ONLY_FULL_GROUP_BY模式之后,只要有聚合函数 sum(),count(),max(),avg() 等函数就需要用到group by,没有就会报错。
所以最好的办法是加上group by id(一定要为主键的字段,非主键会报错。)

可以看看这个网址
https://stackoverflow.com/que...

回答

以上是 nodejs 使用 sequelize 查 mysql 报错 的全部内容, 来源链接: utcz.com/a/112448.html

回到顶部