关于node sequelize跨库查询的问题
发布于 4 年前 作者 enternull 5707 次浏览 来自 问答

今天有个需求要跨库查询,但是用include 只会查同一个sequelize实例,有点懵,除了写sql 还有别的用sequelize直接能做到的方式吗?

const result = await ctx.userModel.OrderCart.findAll({
      attributes: ['id', 'productCount'],
      include: {
        model: ctx.productModel.ProductInfo,
        attributes: {
          exclude: ['create_time', 'update_time', 'averageCost']
        }
      }
})

类似这样的形式,报错是找不到表,应该是sequelize 不能跨实例查询。。。

4 回复

最好的是分布式事务处理。其次是etl将表同步到一个库里。

使用两个sequelize实例查两次。或者另外一个库启动一个服务,使用类似微服务的方式调用。

必须要用两个实例,3个,4个也行。但是这样合理吗?跨库查询本身就有点问题,既然是跨库了最好是跨服务,再将数据聚合到一个表中

歪个楼,目前 Breword 正在将 sequelize 文档翻译为中文,对 Sequelize 熟悉,以及想要参与贡献翻译的同学,欢迎一起参与翻译。

翻译项目地址为:https://www.breword.com/projects/5f16a188b1836a001beb781a

回到顶部