simple-mongodb-helper
TypeScript icon, indicating that this package has built-in type declarations

0.6.2 • Public • Published

simple-mongodb-helper

Synopsis

Hello! Not a lot of time to write this readme, but try to make some updates about missing documented elements when times... This simple helper add some features to native mongodb driver as auto reconnect methods, eval and some basics reformated options

Installation

npm i simple-mongodb-helper

Usage

init

const  mongoDB_class = require('simple-mongodb-helper');
const  mongoclient = mongoDB_class.default();

or

import  mongoDB  from  'simple-mongodb-helper';
const  mongoclient: any = mongoDB();

connect

mongoclient.connect(param)

let params = {
  "host": "3.2.1.0",
  "port": 27017,
  "user": "zzzzz",
  "password": "*****",
  "authSource": "admin",
  "dbName": "xxxxx",
  "poolSize": 5000,
  "keepAlive": 30000,
  "socketTimeoutMS": 1,
  "forceReconnect": true,
  "forceReconnectLimit": 1000,
  "replicaSet": "replication",
  "w": "majority",
  "readPreference": "primaryPreferred",
  ...
};
mongoclient.connect(param).then(() => {
  //...
}).catch((e: any) =>  {
  //...
});

This method create mongoclient.mDB witch is active mongoclient connexion

find

mongoclient.find(collection, filter, projection, sort, limit)

mongoclient.find('test',{_id:'test'},{_id:0,order:1,info:1},{order:-1},10).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

aggregate

mongoclient.aggregate(collection, AggResquests)

mongoclient.aggregate('test',[{...},{...}]).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

insert

mongoclient.insert(collection, documents)

mongoclient.insert('test',[{"a":"b"},{"c":"d"}]).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

update

mongoclient.update(collection, filter, values, upsert)

mongoclient.update('test',{_id:'test'},{order:2,info:"new test"},true).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

eval raw request

mongoclient.eval(rawScript, inputs)

// inputs is an object
let inputs = { database : "exemple", collection" : "demo" }
// rawscript must return a promise
let rawScript = "db.db(inputs.database).collection(inputs.collection).find({}).toArray()";
mongoclient.eval(rawScript,inputs).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

replace

mongoclient.replace(collection, filter, to)

mongoclient.replace('test',{_id:'test'},{ 'element':'test'}).then((result) => {
  //...
}).catch((e: any) =>  {
  //...
});

others : native exposed

MongoClient,
ObjectID,
ObjectId,
MongoError,
MongoNetworkError,
Db,
Server,
ReplSet,
Mongos,
ReadPreference,
Logger,
AggregationCursor,
CommandCursor,
GridFSBucket,
Binary,
Code,
DBRef,
Double,
Int32,
Long,
MinKey,
MaxKey,
Timestamp,
Decimal128,
Cursor

/simple-mongodb-helper/

    Package Sidebar

    Install

    npm i simple-mongodb-helper

    Weekly Downloads

    163

    Version

    0.6.2

    License

    ISC

    Unpacked Size

    26.1 kB

    Total Files

    4

    Last publish

    Collaborators

    • darkbleu
    • agenouel