Вы также можете использовать "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 of 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);