需求:后台配置多个数据库,根据前端用户登陆时所选数据库,登陆后就只针对该数据库进行操作。
解决思路: 在model的地方return 多个不同数据库的model, 然后再从server里面单独处理需要操作哪一个。
遇到的问题: config的配置项loadModel默认是ture,即app启动时候会自动加载model,而且这个model设置返回一个数据后,识别不了该model。
因为自动加载不了多个model,所以还有一种方法,把loadModel设置为false, 然后识别到操作的数据库后,手动调用egg-mongoose插件的 loadModel方法,返回一个真正需要操作的数据库。
egg-mongoose加载源码:
其实这两个关键点在于如何手动去加载model,因为自动加载的话必须写死数据库,但是现在需求是动态的操作不同的数据库。
那么问题来了?怎么在正确的位置去手动加载对应的model呢?
有没有大佬解答一下。