Helpful functions to figure out if a connection is on Atlas, Atlas Data Lake, Enterpise, or DocumentDB/CosmosDB.
const getBuildInfo = require('mongodb-build-info')
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('localhost:27017', function (err, client) {
const adminDB = client.db('test').admin()
let buildInfo;
adminDB.command({ buildInfo: 1 }, {}, parseBuildInfo)
adminDB.command({ getCmdLineOpts: 1 }, {}, parseCmdLineOpts)
function parseBuildInfo (err, res) {
if (err) console.log('Command failed, ', err)
buildInfo = res
const { isDataLake, dlVersion } = getBuildInfo.getDataLake(buildInfo)
const isEnterprise = getBuildInfo.isEnterprise(buildInfo)
}
function parseCmdLineOpts (err, res) {
if (err) console.log('Command failed', err.message)
const { isGenuine, serverName } = getGenuineMongoDB(buildInfo, res)
}
})
Returns an object:
isDataLake: boolean. dlVersion: version of dataLake, a string.
Returns a boolean.
Returns a boolean.
Returns a Promise<boolean>.
Returns a boolean.
Returns a boolean.
Returns a boolean.
Returns an object:
isGenuine: boolean. serverName: name of the server (mongoDB, cosmosDB, or documentDB).
Returns an object:
serverOs: build's OS version (macOS, linux, windows etc.). serverArch: build's architecture (e.g. x86_64).
npm install -S mongodb-build-info
Apache-2.0