@tadashi/mongo-singleton

6.1.0 • Public • Published

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...

Donate ❤️

  • BTC: bc1q7famhuj5f25n6qvlm3sssnymk2qpxrfwpyq7g4

License

MIT © Thiago Lagden

/@tadashi/mongo-singleton/

    Package Sidebar

    Install

    npm i @tadashi/mongo-singleton

    Weekly Downloads

    2

    Version

    6.1.0

    License

    MIT

    Unpacked Size

    11.8 kB

    Total Files

    5

    Last publish

    Collaborators

    • lagden