Ви також можете використовувати "mongodump" та "mongorestore", як ви вже згадували. У PHP ви можете використовувати shell_exec для запуску команд. Наприклад:
$backUpCommand = "mongodump --archive='/tmp/mongodump-dev-db' --db=dev";
shell_exec($backUpCommand);
$restoreCommand = "mongorestore --archive='/tmp/mongodump-dev-db' --db=test --nsFrom='test.*' --nsTo='examples.*'";
shell_exec($restoreCommand);
Зверніть увагу, що nsFrom та nsTo мають перейменувати простір імен, якщо це потрібно. Детальніше дивіться тут .
Якщо ви хочете скопіювати дамп на інший хост, спробуйте поєднати --host params mongorestore. Отже, у такому випадку командою відновлення буде:
$restoreCommand = "mongorestore --host=mongodb1.example.net --port=27017 --username=user --password=$PSWD --authenticationDatabase=admin --archive='/tmp/mongodump-dev-db' --db=test";
shell_exec($restoreCommand);