diff --git a/files/venus-stats.js b/files/venus-stats.js new file mode 100644 index 0000000..3ec6b30 --- /dev/null +++ b/files/venus-stats.js @@ -0,0 +1,75 @@ +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); + } +} +