H5W3
当前位置:H5W3 > 问答 > 正文

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…

回答

本文地址:H5W3 » nodejs 使用 sequelize 查 mysql 报错

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址