关于node sequelize跨库查询的问题
今天有个需求要跨库查询,但是用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