Skip to content

Instantly share code, notes, and snippets.

@akumbhani66
Last active September 26, 2017 11:01
Show Gist options
  • Save akumbhani66/95a56a99cdd1bee12121f1d7ab081ac0 to your computer and use it in GitHub Desktop.
Save akumbhani66/95a56a99cdd1bee12121f1d7ab081ac0 to your computer and use it in GitHub Desktop.
const MongoClient = require('mongodb').MongoClient
const faker = require('faker');
if (process.argv[2] === "1") {
var DATA = [];
DATA[0] = {
fname: "AAA",
lname: "BBB",
age: 20,
gender: "M",
address: "AHMD",
phone: "9909970570"
}
for(let i=0; i<500; i++) {
let data = {
fname: faker.name.findName(),
lname: faker.name.lastName(),
age: 20,
gender: "M",
address: faker.address.city(),
phone: faker.phone.phoneNumber(),
};
DATA[i+1] = data;
}
MongoClient.connect("mongodb://localhost/batchmarkTest", function(err, DB) {
if(err) {
console.dangerLog(err);
} else {
console.log("connected");
console.endTime('time to insert 500 records:');
DB.collection("batchTest").insertMany(DATA, function(error, inserted) {
if(error) {
console.error(error);
}
}); // end of insert
}
console.endtime('time to insert 500 records:');
DB.close();
});
} else if(process.argv[2] === "2") {
MongoClient.connect("mongodb://localhost/batchmarkTest", function(err, DB) {
if(err) {
console.log(err);
} else {
//============Insert==============
console.endTime('time to insert new record:');
DB.collection('batchTest').insert({
fname: faker.name.findName(),
lname: faker.name.lastName(),
age: 20,
gender: "M",
address: faker.address.city(),
phone: faker.phone.phoneNumber(),
}, {w: 1}, function(err, records){
if(err) {
console.log(err)
} else {
console.endtime('time to insert new record:');
}
});
//================================
//============Find================
console.endTime('time to display all records:');
DB.collection("batchTest").find(
{ fname: "AAA" }, function(err, records){
if(err) {
console.log(err)
} else {
console.endtime('time to display all records:');
}
})
//================================
//==========Find and update=======
console.endTime('time to find and modify record:');
DB.collection('batchTest').findAndModify(
{lname: 'BBB'}, // query
[['_id','asc']], // sort order
{$set: {fname: 'latest fname'}}, // replacement, replaces only the field "hi"
{}, // options
function(err, records) {
if(err) {
console.log(err)
} else {
console.endtime('time to find and modify record:');
}
});
//================================
//============Update==============
console.endTime('time to modify record:');
DB.collection("batchTest").update(
{fname:"latest fname"},
{$set: {lname:"latest lname"}},
function(err, records) {
if(err) {
console.log(err)
} else {
console.endtime('time to modify record:');
}
});
//================================
}
DB.close();
});
} else {
console.informLog("Enter '1' as argument to insert sample records(500 records) and '2' for batchmark test.")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment