node.js - 如何在 sequelize 中构建 EXISTS 子句

标签 node.js sequelize.js

我有一个模型,其中有 3 个实体:

User
Project
Contributor

一个项目有一个所有者(用户)和多个贡献者(用户)。在我的仪表板中,我想列出用户的项目,即用户是所有者或贡献者的所有项目。

使用 Project.findAll({where: [owner: user]}) 查找拥有的项目很简单。如何修改它以找出用户也是贡献者的项目?这将(在数据库查询中)使用 EXISTS 子句转换为子查询。

最佳答案

一般情况下,您可以在 where 中使用 exists 子句,如下所示:

Project.findAll({
    where: {
         $and:[sequelize.literal('exists (select 1 from "someTable" where ...)']
    }
})

关于node.js - 如何在 sequelize 中构建 EXISTS 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093481/

相关文章:

mysql - 如何查找未与 Waterline ORM 连接的记录

javascript - 如何创建 Mongoose 架构,将输入保存为 mongodb 中的 html

node.js - 在 NodeJS 中使用 Sequelize 并 findByPk 返回待定

mysql - Heroku 部署错误 :connection refused

sql - GraphQL & Sequelize : Users and followers/following

javascript - Node.js域中的多个错误事件调用

javascript - 在 Node 的对象中使用 'this' ?

html - 解析来自 Node js + handlebars 的 POST 请求

javascript - Sequelize 生成复杂查询 (SELECT WHERE IN)

sequelize.js - 通过关联更新 Sequelize