Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get list of databases in MongoDB using NodeJs? [duplicate]

I have seen answers on C# and Java but not able to find anything on NodeJs. I have tried using cmd shell in Windows to get the required output but no luck.

I am aware that the same information can be taken in Mongo shell but the requirement is to get a list within the NodeJs app.

 cmd = child_process.exec('"C:\\Program Files\\MongoDB\\Server\\3.2\\bin\\mongo.exe" admin ; db.getMongo().getDBNames()');

and also

var mongoServer = require('mongodb-core').Server;

 var server = new mongoServer({
    host: 'localhost'
    , port: 27017
    , reconnect: true
    , reconnectInterval: 50   });

  server.on('connect', function (_server) {

  console.log('connected');

 var cmdres = _server.command('db.adminCommand({listDatabases: 1})');

 console.log("Result: " + cmdres);

}
like image 544
Gdcrocx Avatar asked Jan 06 '23 07:01

Gdcrocx


1 Answers

You can use mongodb driver to get dbs as following

var MongoClient = require('mongodb').MongoClient;

// Connection url
var url = 'mongodb://localhost:27017/test';
// Connect using MongoClient
MongoClient.connect(url, function(err, db) {
  // Use the admin database for the operation
  var adminDb = db.admin();
  // List all the available databases
  adminDb.listDatabases(function(err, result) {
    console.log(result.databases);
    db.close();
  });
});

Reference: http://mongodb.github.io/node-mongodb-native/2.2/api/

like image 178
Arif Khan Avatar answered Jan 13 '23 10:01

Arif Khan