Я работаю над загрузочным приложением Spring с хранилищем MongoDB, используя мультитенантный подход.Каждый запрос содержит параметр пути customerID
, и у каждого клиента есть своя собственная база данных mydb_XXX
, где mydb
- это имя моей базы данных, а XXX
- это идентификатор клиента.Мне нужно реализовать новую конечную точку, которая получит два аргумента - oldCustomerID
и newCustomerID
.Что нужно сделать, так это клонировать базу данных старого клиента со всеми ее данными.
Одна вещь, которая мне приходит в голову, это просто создать новую базу данных для нового клиента, как это было сделано для первого,используя метод типа MongoDbFactorySupport
* getDb()
, а затем сделайте следующее:
List<MyObject> myObjects = oldMongoTemplate.findAll(MyObject.class);
newMongoTemplate.insertAll(myObjects);
Но это не лучшая идея.У меня нет большого опыта в этом, и Google не помог в исследовании, поэтому я хотел спросить, реализовал ли кто-нибудь из вас что-то подобное.Есть ли какой-нибудь известный подход для такого рода вещей?
Спасибо.