2013-06-11 5 views
0

Я создал дамп для коллекции foo, после чего я изменил схему foo (добавил дополнительные документы и поля), так можно ли в MongoDB восстановить старые данные и сохранить текущую схему? Пожалуйста, предложите мне некоторые решения.Резервное копирование MongoDB после изменения схемы

+2

Что вы подразумеваете под текущей схемой? В MongoDB нет фиксированной схемы, поэтому, если вы восстанавливаете данные из дампа, он не наследует никаких новых полей, написанных в документе. Тем не менее, вы можете восстановить старые данные в коллекции с новой схемой, и они могут жить бок о бок. Для обзора моделирования данных MongoDB см. Следующее: http://docs.mongodb.org/manual/core/data-modeling/#data-modeling-considerations-for-mongodb-applications –

ответ

0

MongoDB не применяет схему. Вы можете легко восстановить старые документы в тот же сборник, что и ваши новые. Когда вы запрашиваете их, вы можете написать свое приложение, чтобы ожидать документы старого стиля или нового стиля. Или вы можете использовать update с операторами, такими как set или rename, чтобы обновить документы старого образца и привести их в соответствие с новой схемой.

Смежные вопросы