Mongodash
A modern JavaScript & Typescript MongoDB-based utility library allowing to develop common app requirements incredible simple.
npm install mongodash
Initialization
const mongodash = require('mongodash');
await mongodash.init({ uri: 'mongodb://mongodb0.example.com:27017/myDatabase' });
See more initialization options here.
Cron tasks
const { cronTask } = require('mongodash');
await cronTask('my-task-id', '5m 20s', async () => {
console.log('Hurray the task is running!');
});
See detailed description and more cron tasks methods here.
withLock
const { withLock } from 'mongodash';
await withLock('my-lock-id', async () => {
// it is quaranteed this callback will never run in parallel,
// so all race-conditions are solved
const data = await loadFromDatabase();
data.counter += 1;
await saveToDatabase(data);
})
See detailed description here.
withTransaction
const { withTransaction, getCollection } = require('mongodash');
const createdDocuments = await withTransaction(async (session) => {
const myDocument1 = { value: 1 };
const myDocument2 = { value: 2 };
const collection = getCollection('myCollection');
await testCollection.insertOne(myDocument1, { session });
await testCollection.insertOne(myDocument2, { session });
return [myDocument1, myDocument2];
});
See detailed description here.
getCollection
const { getCollection } = require('mongodash');
const myCollection = getCollection('myCollectionName');
See detailed description here.
getMongoClient
const { getMongoClient } = require('mongodash');
const mongoClient = getMongoClient();
See detailed description here.
Support by GitHub star!
Updated over 2 years ago