MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je exécuter db.copyDatabase via le pilote natif MongoDB de NodeJS ?

Eh bien, vous essayez de copier la base de données qui est une opération d'administration, vous avez donc à voir avec le compte administrateur. Encore une fois, pour copier la base de données, la commande est copydb .

essayez d'exécuter cette commande dans le shell, db.copyDatabase et vous verrez la source de la commande.

essayez :

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