Skip to content

Instantly share code, notes, and snippets.

View karan9's full-sized avatar
🏠
Working from home

Karan Srivastava karan9

🏠
Working from home
View GitHub Profile
function getStorageDetails() {
var db = this.db.getSiblingDB("admin");
var totalIndexSize = 0,
totalStorageSize = 0,
totalDataSize = 0,
formatSize = 1024 * 1024 * 1024;
// List the databases
var dbs = db.runCommand({ listDatabases: 1 });
var colls = db.getCollectionNames();
var ret = [];
colls.forEach(function(coll) {
var stats = db.getCollection(coll).stats();
ret.push({ "name": coll, "stats": stats});
})
printjson(ret)
@karan9
karan9 / loadTest.js
Created September 8, 2020 06:45
Load testing script Atlas
const MongoClient = require("mongodb").MongoClient;
const { LoremIpsum } = require("lorem-ipsum");
const cluster = require('cluster');
const MONGOURI = "MONGO_URI";
const DB = "test_db";
const COLL = "test_coll";
/* Lorem Ipsum Generator */
@karan9
karan9 / getActiveConnectionsBySource.js
Created August 27, 2020 13:23
A simple mongo shell script to return the connections grouped by the source
db.currentOp(true).inprog.reduce(
(accumulator, connection) => {
ipaddress = connection.client ? connection.client.split(":")[0] : "Internal";
accumulator[ipaddress] = (accumulator[ipaddress] || 0) + 1;
accumulator["TOTAL_CONNECTION_COUNT"]++;
return accumulator;
},
{ TOTAL_CONNECTION_COUNT: 0 }
)
function getStorageDetails() {
var db = this.db.getSiblingDB("admin");
var totalIndexSize = 0,
totalStorageSize = 0,
totalDataSize = 0,
formatSize = 1024 * 1024 * 1024;
// List the databases
var dbs = db.runCommand({ listDatabases: 1 }).databases;
@karan9
karan9 / getIndexDatabyBounds.js
Last active October 16, 2020 14:34
Returns number of indexes on each collection for a given database
var colls = db.getCollectionNames();
var ret = [];
colls.forEach(function(coll) {
var indexes = db.getCollection(coll).getIndexes();
var len = indexes.length
if (len >= 10) {
ret.push({ "name": coll, "length": len, "data": indexes});
}
})
@karan9
karan9 / getStorageDataWithErrorCorrection.js
Last active February 5, 2021 11:22
A simple Mongo Shell function to get dataSize, storageSize and indexSize for each DB
function getStorageDetails() {
var db = this.db.getSiblingDB("admin");
var totalIndexSize = 0,
totalStorageSize = 0,
totalDataSize = 0,
formatSize = 1024 * 1024 * 1024;
// List the databases
var dbs = db.runCommand({ listDatabases: 1 }).databases;