Sequelize:在同一模型

时间:2018-03-27 04:49:40

标签: postgresql group-by sequelize.js

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

我试图在一个消息聊天应用程序中进行查询,该应用程序可以提取所有最近的会话线程(每个消息都有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子句中或用于聚合函数

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

非常感谢!

0 个答案:

没有答案