【发布时间】:2019-02-16 08:57:43
【问题描述】:
目前,我们正在寻找一种解决方案,将以下User 实体同时保存到多个 MongoDB 集合中(即db_users 和db_users_legacy)。两个集合都在同一个数据库中。
请不要问我为什么需要保存在两个集合中。这是业务需求。
@Document(collection = "db_users")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
@Id
private String id;
private String name;
private String website;
private String name;
private String email;
}
我的 SpringBoot 应用程序配置如下:
@Configuration
public class ApplicationConfig {
@Bean
public MongoTemplate mongoTemplate(MongoDbFactory factory){
MongoTemplate template = new MongoTemplate(factory);
template.setWriteConcern(WriteConcern.ACKNOWLEDGED);
retu,rn template;
}
}
目前我的存储库看起来像这样。保存效果很好。我怎样才能在两个不同的集合中相同的文档?
@Repository
public class UserRepositoryImpl implements UserRepository {
private MongoTemplate mongoTemplate;
public UserRepositoryImpl(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
@Override
public void save(User user) {
mongoTemplate.save(user);
}
}
谁能建议最好的解决方案?
【问题讨论】:
标签: java mongodb spring-boot spring-data spring-data-mongodb