Mongo mongo = new Mongo( new DBAddress( "localhost", 127017 ) );
DB client1DB = mongo.getDB( "client1" );
DBCollection client1TTestCollection = client1DB.getCollection( "test" );
long client1TestCollectionCount = client1TTestCollection.count();
DB client2DB = mongo.getDB( "client2" );
DBCollection client2TTestCollection = client2DB.getCollection( "test" );
long client2TestCollectionCount = client2TTestCollection.count();
看,很简单。但是spring-data-mongodb不允许轻松地使用多个数据库。设置到Mongo的首选方式是扩展AbstractMongoConfiguration类:
你会发现需要覆盖以下方法:
getDatabaseName()
这意味着它强制你使用一个数据库名称。然后,您构建的存储库接口在传递到SimpleMongoRepository
类中的MongoTemplate中使用该数据库名称。
那么我应该把多个数据库名称放在哪里呢?我必须创建多个数据库名称、多个MongoTemplate
(每个数据库名称一个)和多个其他配置类。但这仍然无法使我的存储库接口使用正确的模板。如果有人尝试过这样的事情,请告诉我。如果我找到了答案,我会在这里发布。
谢谢。