nodejs 使用 sequelize 查 mysql 报错

发布于 2022-09-12 22:20:42 字数 998 浏览 43 评论 0

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

数据库数据

image

执行的代码

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: '查询成功'
  });

});

报错信息

image

问题二

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妄想挽回 2022-09-19 22:20:42

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文