首页 > 解决方案 > 配置两个数据库时无法从 mongo 集合中获取数据 - mongotemplate

问题描述

我已经配置了两个数据库使用

下面是我用过的配置文件

@Primary
@Bean(name = "empMongoTemplate")
public MongoTemplate empMongoTemplate(@Qualifier("empFactory") MongoDbFactory mongoDbFactory)
        throws Exception {
    return new MongoTemplate(mongoDbFactory);
}

@Bean(name = "attendMongoTemplate")
public MongoTemplate attendMongoTemplate(@Qualifier("attendFactory") MongoDbFactory mongoDbFactory)
        throws Exception {
    return new MongoTemplate(mongoDbFactory);
}

@Bean(name = "empProperties")
@ConfigurationProperties(prefix = "spring.data.mongodb.emp")
public MongoProperties empProperties() throws Exception {
    return new MongoProperties();
}

@Bean(name = "attendProperties")
@ConfigurationProperties(prefix = "spring.data.mongodb.attend")
public MongoProperties attendProperties() throws Exception {
    return new MongoProperties();
}

@Bean("empFactory")
@Primary
public MongoDbFactory empFactory(@Qualifier("empProperties") MongoProperties mongoProperties)
        throws Exception {
    MongoClientURI uri = new MongoClientURI(mongoProperties.getUri());
    return new SimpleMongoDbFactory(uri);
}

@Bean("attendFactory")
public MongoDbFactory attendFactory(@Qualifier("attendProperties") MongoProperties mongoProperties)
        throws Exception {
    MongoClientURI uri = new MongoClientURI(mongoProperties.getUri());
    return new SimpleMongoDbFactory(uri);
}

@Primary它总是在数据库中搜索集合及其文档。如何从另一个数据库的集合中获取文档?有没有办法@Primary动态定义?

标签: javaspring-boot

解决方案


推荐阅读