В настоящее время мы ищем решение для сохранения следующей сущности 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);
}
}
Может кто-нибудь предложить лучший вариант решения этой проблемы, пожалуйста?