MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso eseguire db.copyDatabase tramite il driver nativo MongoDB di NodeJS?

Bene, stai provando a copiare il database che è un'operazione di amministrazione, quindi hai a che fare con l'account amministratore. Anche in questo caso, per copiare il comando del database è copydb .

prova a eseguire questo comando nella shell, db.copyDatabase e vedrai la fonte del comando.

prova:

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