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 是读取了什么的信息, 请大佬指点
上面报错翻译成中文的意思是:
"在没有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