function getArgs () { const args = {}; process.argv .slice(2, process.argv.length) .forEach( arg => { // long arg if (arg.slice(0,2) === '--') { const longArg = arg.split('='); const longArgFlag = longArg[0].slice(2,longArg[0].length); const longArgValue = longArg.length > 1 ? longArg[1] : true; args[longArgFlag] = longArgValue; } // flags else if (arg[0] === '-') { const flags = arg.slice(1,arg.length).split(''); flags.forEach(flag => { args[flag] = true; }); } }); return args; } const args = getArgs(); //console.log(args) //node ./venus-stats.js --insert=yes --port=30001 --ip='127.0.0.1' --user=swarmlab --password=swarmlab --db=venus --coll=logs --json='{ "name" : "Hello", "log" : "World" }' if (args["insert"] == 'yes'){ try{ var dbuser = args["user"] var dbpassword = args["password"] var dbName = args["db"] var collName = args["coll"] var dbNamePort = args["port"] var dbNameIP = args["ip"] var dbjson = JSON.parse(args["json"]) var MongoClient = require('mongodb').MongoClient; var mongourl = `mongodb://${dbuser}:${dbpassword}@${dbNameIP}:${dbNamePort}`; const OPTS = { useNewUrlParser: true, useUnifiedTopology: true }; MongoClient.connect(mongourl, OPTS, function(err, db) { if(err){ console.log(err); } else { var dbo = db.db(dbName); dbo.listCollections({name: collName}) .next(function(err, collinfo) { if (collinfo) { }else{ dbo.createCollection(collName, { capped: true, size: 100000 }); } }); dbo.collection(collName).insertOne(dbjson, function(err, res) { if(err){ console.log(err); } else { console.log("ok"); db.close(); } }); } }); } catch (err) { console.error(err); } }