MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como posso executar db.copyDatabase através do driver nativo MongoDB do NodeJS?


Bem, você está tentando copiar o banco de dados que é uma operação de administração, então tem a ver com a conta de administrador. Novamente, para copiar o comando do banco de dados é copydb .

tente executar este comando no shell, db.copyDatabase e você verá a fonte de comando.

tentar:
var assert = require('assert');
var MongoClient = require('mongodb').MongoClient;


var url = 'mongodb://localhost:27017/test';

MongoClient.connect(url, function(err, db) {
    if (err) {
        console.log(err);
    }
    else {

        var mongoCommand = { copydb: 1, fromhost: "localhost", fromdb: "test", todb: "test_dup" };
        var admin = db.admin();

        admin.command(mongoCommand, function(commandErr, data) {
            if (!commandErr) {
                console.log(data);
            } else {
                console.log(commandErr.errmsg);
            }
            db.close();
        });
    }
});