nodejs 使用 sequelize 查 mysql 报错
学习和使用nodejs的 sequelize 查询数据库时报错,查了很多资料,由于 对 sql 不了解, 不知道是什么原因导致的, 请各位大佬指教
数据库数据
执行的代码
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: '查询成功'
});
});
报错信息
问题二
如图所示 使用 pm2 list 展示的信息
其中对于 user 的来源甚是费解, 不知道这个 user 是读取了什么的信息, 请大佬指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
上面报错翻译成中文的意思是:
"在没有group by的聚合查询中,使用conut聚合函数,与模式
ONLY_FULL_GROUP_BY
不符"换句话说,也就是启用了ONLY_FULL_GROUP_BY模式之后,只要有聚合函数 sum(),count(),max(),avg() 等函数就需要用到group by,没有就会报错。
所以最好的办法是加上group by id(一定要为主键的字段,非主键会报错。)
可以看看这个网址
https://stackoverflow.com/que...