@tadashi/mongo-singleton

Simplifying MongoDB

Usage no npm install needed!

<script type="module">
  import tadashiMongoSingleton from 'https://cdn.skypack.dev/@tadashi/mongo-singleton';
</script>

README

Mongo Singleton

NPM version Node.js CI Coverage Status


Simplifying MongoDB

Install

$ npm i -S @tadashi/mongo-singleton

API

Environment variables available

  • MONGO_CONN
  • MONGO_DB
  • MONGO_USER
  • MONGO_PASS
  • MONGO_AUTHSOURCE
  • MONGO_POOL_SIZE = 10

Mongo.conn( [args]):MongoClient

Name Type Default Description
args object {} See bellow

args

Name Type Default Description
url string MONGO_CONN See the manual
username string MONGO_USER Database user
password string MONGO_PASS Database password
authSource string MONGO_AUTHSOURCE Authentication Database
options object {maxPoolSize: MONGO_POOL_SIZE} See the manual

Mongo.collection(collectionName [, options ]):Collection

Name Type Default Description
collectionName string - Collection name
options object {} See bellow

options

Name Type Default Description
dbName string MONGO_DB Database name
dbOptions object {} See the manual
collectionOptions object See bellow See the manual
collectionOptions
Name Type Default Description
writeConcern object {w: 1} -

Usage

Example A:

import Mongo from '@tadashi/mongo-singleton'

const client = await Mongo.conn({
  url: 'mongodb://mongodb.example.com:27017',
  username: 'username',
  password: 'password'
})
const db = client.db('my_DB')
await db.dropDatabase()
// more code...

Example B:

// Set the environment variables before start the application
// - MONGO_CONN
// - MONGO_DB
// - MONGO_USER
// - ...
import Mongo from '@tadashi/mongo-singleton'

// will return the collection if exists or create new one
const collection = await Mongo.collection('users')
const users = await collection.find({name: 'Tadashi'}).toArray()
// more code...

License

MIT © Thiago Lagden