Files
lsp/node_modules/mongodb/lib/operations/execute_db_admin_command.js
Arnaud Nelissen 3af7ddab06 Initial commit
2021-11-17 11:25:08 +01:00

35 lines
1.0 KiB
JavaScript

'use strict';
const OperationBase = require('./operation').OperationBase;
const handleCallback = require('../utils').handleCallback;
const MongoError = require('../core').MongoError;
const MongoDBNamespace = require('../utils').MongoDBNamespace;
class ExecuteDbAdminCommandOperation extends OperationBase {
constructor(db, selector, options) {
super(options);
this.db = db;
this.selector = selector;
}
execute(callback) {
const db = this.db;
const selector = this.selector;
const options = this.options;
const namespace = new MongoDBNamespace('admin', '$cmd');
db.s.topology.command(namespace, selector, options, (err, result) => {
// Did the user destroy the topology
if (db.serverConfig && db.serverConfig.isDestroyed()) {
return callback(new MongoError('topology was destroyed'));
}
if (err) return handleCallback(callback, err);
handleCallback(callback, null, result.result);
});
}
}
module.exports = ExecuteDbAdminCommandOperation;