Anda dapat menggunakan "mongodump" dan "mongorestore" seperti yang Anda sebutkan juga. Di PHP, Anda bisa menggunakan shell_exec untuk menjalankan perintah. Sebagai contoh:
$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);
Harap dicatat nsFrom dan nsTo adalah untuk mengubah nama namespace jika Anda membutuhkannya. Lihat lebih detail di sini .
Jika Anda ingin menyalin dump ke host lain, coba gabungkan --host params dari mongorestore. Jadi, dalam hal ini, perintah pemulihan Anda adalah:
$restoreCommand = "mongorestore --host=mongodb1.example.net --port=27017 --username=user --password=$PSWD --authenticationDatabase=admin --archive='/tmp/mongodump-dev-db' --db=test";
shell_exec($restoreCommand);