You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.2 KiB
75 lines
2.2 KiB
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);
|
|
}
|
|
}
|
|
|
|
|