sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo ejecutar db.copyDatabase a través del controlador nativo MongoDB de NodeJS?

Bueno, está tratando de copiar la base de datos, que es una operación de administración, por lo que tiene que ver con la cuenta de administrador. Nuevamente, el comando para copiar la base de datos es copydb .

intente ejecutar este comando en shell, db.copyDatabase y verás la fuente de mando.

prueba:

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();
        });
    }
});