jmongo

2.4.0 • Public • Published

JMongo

Description

This is a small module which facilitates the use of the MongoDB driver.

It contains functions that perform specific purposes, for example insertDocument() inserts a document in the specified collection. You can find all the functions and their descriptions here below.

Installation

Using npm:

npm i jmongo

Usage:

const JMongo = require('jmongo');
const jmongo = new JMongo(databaseUrl, dbname);

databaseUrl = The url of your database

dbname = The name of the database to use

Functions:

All the functions are async and return a promise

async insertDocument(collection, value) : Promise

Inserts a document in the collection

jmongo.insertDocument('users', yourObject);

async changeDocumentProperty(collection, query, newValues) : Promise

Changes a document property or creates one

jmongo.changeDocumentProperty('users', { id: 1 }, { name: 'John' });

async deleteDocumentProperty(collection, query, toDelete) : Promise

Deletes a document property

jmongo.deleteDocumentProperty('users', { id: 1 }, { name: '' });

async load(collection, query) : Promise

Loads the document with the given query and returns it in the promise

jmongo.load('users', { id: 1 }).then((user) => { console.log(user) }

async loadAll(collection, query, projection) : Promise

Loads all the documents with the given projection, query and returns them in the promise.

jmongo.loadAll('users',{ company: 'Google' }, { name: '', job: '' })
    .then((users) => { console.log(users) }
/* 
This will return all the documents with the property: { company: 'Google' }
but it will only return the name and job properties
example:
[
    {
        _id: '5f597fc1b1a6f651c04dd46d',
        name: 'John Doe',
        job: 'Software engineer'
    },
    {
        _id: '5f5980c29348525283ade6c1',
        name: 'Angela Doe',
        job: 'Sales'
    }
]
*/

If you want to load all the documents in the collection just pass an empty object or null

jmongo.loadAll('users', { }, { })
    .then((users) => { console.log(users) }

The same goes for the projection, if you want to load all the properties then pass an empty object or null (or just leave it blank)

jmongo.loadAll('users', { company: 'Google' }, { })
    .then((users) => { console.log(users) }

async deleteDocument(collection, query) : Promise

Deletes the document with the given query

jmongo.deleteDocument('users', { id: 1 });

Dependents (0)

Package Sidebar

Install

npm i jmongo

Weekly Downloads

0

Version

2.4.0

License

MIT

Unpacked Size

10.9 kB

Total Files

4

Last publish

Collaborators

  • jmax45