sequelize.js - 在belongsToMany 关系中续写查询

标签 sequelize.js

我想弄清楚如何在 Sequelize 中查询关系。假设我有一个 UserModel 和一个 IssueModel ,它们彼此之间都有一个 belongsToMany 关系。我想要一个这样的查询:

SELECT
    ...,
    (
        EXISTS(
            SELECT 1
            FROM user_issues
            WHERE user_issues.user_id = <some_id>
                AND user_issues.issue_id = issue.id
        )
    ) AS isSubscribed

我能够在有关关系的文档中找到的唯一内容是 include 选项,但在这种计算成员上没有任何内容

最佳答案

您需要执行以下操作

User.findAll({
  attributes: ['User.*', 'Issue.*', [sequelize.fn('COUNT', sequelize.col('Issue.id')), 'PostCount']],
  include: [Issue]
}

关于sequelize.js - 在belongsToMany 关系中续写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42217002/

相关文章:

jquery - 不正确的 Sequelize 查询

node.js - 如何在 Sequelize 中使用迁移?

javascript - 如何在 MySQL Nodejs 中建立一对多关系?

javascript - 定义整数类型的数据,但使用 node.js 模型返回字符串类型的数据

express - Sequelize - 仅通过值查询表

node.js - 在 REST 应用程序中处理数据库错误时,什么被视为标准?

javascript - FindAll 包含涉及复杂的多对(多对多)关系(sequelizejs)

javascript - 如何检查 Sequelize 计数并在计数 > 0 时返回 bool 值

mysql - 使用 Sequelize 仅从行和关联中获取值

node.js - 繁琐和 Sequelize 之间的区别