MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich db.copyDatabase über den nativen MongoDB-Treiber von NodeJS ausführen?

Nun, Sie versuchen, eine Datenbank zu kopieren, bei der es sich um einen Verwaltungsvorgang handelt, also haben Sie mit dem Administratorkonto zu tun. Auch hier ist der Befehl zum Kopieren der Datenbank copydb .

Versuchen Sie, diesen Befehl in der Shell auszuführen, db.copyDatabase und Sie sehen die Befehlsquelle.

versuche:

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