sequelieJS选取数据库语句

发布于 2022-09-06 08:33:55 字数 189 浏览 15 评论 0

// mysql原生语句
select * from user_organization where organization_id in(select id from organization where name like 'ext-%');



   
   

求老司机如何写成sequelize的语句?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天暗了我发光 2022-09-13 08:33:55
const Sequelize = require('sequelize');
const sequelize = new Sequelize(...);

sequelize.query( //原始查询
     'select * from user_organization where organization_id in(select id from organization where name like 'ext-%')' ,
     { type:Sequelize.QueryTypes.SELECT }
);

或者分两步简单查询:

const ids = await DBmodel.Organization.findAll({
    where: { name: {$like: 'ext-%'} },
    attributes: ['id']
})
const result = await DBmodel.User_organization.findAll({
    where: {
        organization_id: {$in: ids}
    }
})
失而复得 2022-09-13 08:33:55
    
    await organizationModel.findAll({
        where:{
            name: {
                $like: 'ext-%'
            }
        }
    }).then(ori => {
        // 这里需要修改,不能循环查询数据库
        Array.from(ori).forEach(record => {
            return userOrganizationModel.findAll({
                where: {
                    'organization_id':record.id
                }
            }).then(result => {
                console.log(result);
                ctx.json({
                    status: 100,
                    result
                });
            })
        });
        
    }).catch(err => {
        console.log(err);
        ctx.json({
            status: 101
        });
    });

};

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文