我是新的 - 续集(和整个开发),但相处 .

我正在尝试在一个消息聊天应用程序中进行查询,该应用程序可以提取所有最近的会话线程(每个消息都有1条消息),在sequelize中这样做:

const messages = await db.Message.findAll({
  group: ['userId'],
  attributes: ['userId', [db.sequelize.fn('MAX', db.sequelize.col('createdAt')), 'lastMessageTime']],
  order: [[db.sequelize.fn('MAX', db.sequelize.col('createdAt')), 'DESC']],
  limit: 30,

这会对最新消息进行正确分组,但我希望在它们旁边添加一个额外的属性,例如发件人的ID . 但是,如果我在属性中添加它,我会收到此错误:

错误:GraphQL错误:列“message.senderId”必须出现在GROUP BY子句中或用于聚合函数

我一直在阅读如何包含相关模型,但我似乎无法包含相同的模型本身 . 有没有人对此有任何建议或想法?

非常感谢你!