在数据库之间切换 Spring MongoDb

Switching between databases Spring MongoDb

我有一个案例,我需要使用 Spring mongo 数据(版本:1.6.2)在 mongo 数据库之间切换。目前,我在 db-config.xml 中使用 mongo 模板配置了默认数据库,并且有带注释的存储库;需要在运行时从一个 db/template 切换到另一个;执行必要的操作并切换回默认操作。 我提到了几个链接, Spring-data-mongodb connect to multiple databases in one Mongo instanceMaking spring-data-mongodb multi-tenant 我需要在运行时使用同一组存储库。是否可以在配置级别处理我的案例?或者我们是否需要扩展 Dbfactory 来实现这一点? 使用 Dbfactory,我可以使用同一组带注释的存储库吗?

感谢任何帮助。

我曾经遇到过非常相似的问题。 我在 github 上发布了代码,查看 multi-tenant-spring-mongodb

您基本上必须扩展 SimpleMongoDbFactory 并处理其他主机。我只是在同一台服务器上处理多个数据库。那应该不是问题。

您可以扩展:

   1.  `SimpleMongoDbFactory`: returning custom DB in DB `getDb(String dbName)`.

    2. `MongoTemplate`: Supplying above factory.

@Qualifier的帮助下使用适当的MongoTemplate