使用 belongsTo 对链查找进行后续处理

Sequelize chain find with belongsTo

我有三个模型,讨论、用户和消息,其中:

Message.belongsTo(models.Discussion, {as: 'discussion'})
Discussion.belongsToMany(models.User, {through: models.UserDiscussion})

我想获取有关特定用户的所有消息。从用户那里,我可以很容易地得到所有带有 user.getDiscussions() 的讨论。 但是后来我不知道如何在单个请求中找到消息。一旦有了讨论数组,我就可以调用 find

models.Message.findAll({where: {discussionId: discussions[i].id}})

对于数组中的每个讨论,但这是异步的,我不知道如何将它们链接到 return 只有消息。

没有 getter 有 belongsTo 关系吗?

在您搜索用户的地方,您应该能够执行如下操作:

Discusson.findAll({ 
    // where query 
    },
    {
       include: [Message]
    })
    .then(function(user) {

    });