UNPKG

mongo-copydb

Version:

Copy mongodb database from one mongod instance to same or other instance

18 lines (16 loc) 747 B
const { promisify } = require('util'); const exec = promisify(require('child_process').exec); module.exports = (from, to, {fromhost, tohost, username, password}={}) => { fromhost = fromhost ? '--host=' + fromhost : ''; tohost = tohost ? '--host=' + tohost : ''; if (username && !password) { throw new Error("Username requires a password"); } if (!username && password) { throw new Error("Password requires a username"); } username = username ? '--username=' + username : ''; password = password ? '--password=' + password : ''; let cmd = `mongodump --archive ${fromhost} ${username} ${password} --db=${from} --quiet | mongorestore --archive ${tohost} --nsFrom='${from}.*' --nsTo='${to}.*' --quiet` return exec(cmd); }