从Sequelize获取最近消息的用户列表

时间:2017-11-10 09:25:05

标签: node.js sequelize.js

我有两个模型,名为用户和消息。它基本上是一个聊天应用程序。模型如下关联:

User.hasMany(Message);
Message.belongsTo(User);

User-> id, name, pic
Message-> id, text, timestamp, user_id (foreign key)

我希望获得最近发送消息的用户列表。这是我尝试过的:

DB.User.findAll({
 include: [{
  model: DB.Message,
  order: [
   ['timestamp', 'DESC']
  ],
  limit: 1
 }]
});

SQL Query可能如下所示:

  

SELECT U.first_name,user_id,MAX(timestamp)FROM messages M,users   U WHERE M.user_id = U.id GROUP BY user_id

1 个答案:

答案 0 :(得分:0)

试试这个

DB.User.findAll({
 include: [ { model: DB.Message, required: true,order:['id','DESC']}]
});