UNPKG

simple-mongojs-driver

Version:

A very simplistic MongoDB-JS driver

144 lines (129 loc) 5.38 kB
/* * NPM - Module MONGO-JS-SIMPLE * * This MongoDB Handler was written by depascaldc * * Copyright (C) 2019 - 2020 | depascaldc | All Rights Reserved * * Written by Pascal Neisse (depascaldc) support@depascaldc.de * */ "use strict"; const MongoClient = require('mongodb').MongoClient; const GLOBAL_OPTIONS = { useNewUrlParser: true, useUnifiedTopology: true } module.exports.query = (connectionURI, databaseName, collectionName, queryObject, callbackFunction) => { MongoClient.connect(connectionURI, GLOBAL_OPTIONS, (error, db) => { if (error) return callbackFunction(false, error); var dbf = db.db(databaseName); dbf.collection(collectionName).find(queryObject).toArray(function (err, result) { if (err) return callbackFunction(false, err); db.close(); if (callbackFunction) callbackFunction(result); }); }) } module.exports.asyncQuery = async (connectionURI, databaseName, collectionName, queryObject) => { return new Promise((resolve, reject) => { this.query(connectionURI, databaseName, collectionName, queryObject, (err, result) => { if(err) reject(err); else resolve(result); }); }); } module.exports.insertObject = (connectionURI, databaseName, collectionName, queryObject, callbackFunction) => { MongoClient.connect(connectionURI, GLOBAL_OPTIONS, (error, db) => { if (error) return callbackFunction(false, error); var dbf = db.db(databaseName); dbf.collection(collectionName).insertOne(queryObject, (err, result) => { if (err) return callbackFunction(false, err); db.close(); if (callbackFunction) callbackFunction(true); }) }) } module.exports.asyncInsertObject = async (connectionURI, databaseName, collectionName, object) => { return new Promise((resolve, reject) => { this.insertObject(connectionURI, databaseName, collectionName, object, (err, result) => { if(err) reject(err); else resolve(result); }); }); } module.exports.updateObject = (connectionURI, databaseName, collectionName, queryObject, newValues, callbackFunction) => { MongoClient.connect(connectionURI, GLOBAL_OPTIONS, (error, db) => { if (error) return callbackFunction(false, error); var dbf = db.db(databaseName); let obj = { $set: newValues } dbf.collection(collectionName).updateOne(queryObject, obj, function (err, result) { if (err) return callbackFunction(false, err); db.close(); if (callbackFunction) callbackFunction(true); }); }) } module.exports.asyncUpdateObject = async (connectionURI, databaseName, collectionName, queryObject, newValues) => { return new Promise((resolve, reject) => { this.updateObject(connectionURI, databaseName, collectionName, queryObject, newValues, (err, result) => { if(err) reject(err); else resolve(result); }); }); } module.exports.deleteObject = (connectionURI, databaseName, collectionName, queryObject, callbackFunction) => { MongoClient.connect(connectionURI, GLOBAL_OPTIONS, (error, db) => { if (error) return callbackFunction(false, error); var dbf = db.db(databaseName); dbf.collection(collectionName).deleteOne(queryObject, function (err, result) { if (err) return callbackFunction(false, err); db.close(); if (callbackFunction) callbackFunction(true) }); }) } module.exports.asyncDeleteObject = async (connectionURI, databaseName, collectionName, queryObject) => { return new Promise((resolve, reject) => { this.deleteObject(connectionURI, databaseName, collectionName, queryObject, (err, result) => { if(err) reject(err); else resolve(result); }); }); } module.exports.createDatabase = (connectionURI, databaseName, callbackFunction) => { MongoClient.connect(connectionURI + databaseName, GLOBAL_OPTIONS, function (error, db) { if (error) return callbackFunction(false, error); db.close(); if (callbackFunction) callbackFunction(true); }); } module.exports.asyncCreateDatabase = async (connectionURI, databaseName) => { return new Promise((resolve, reject) => { this.createDatabase(connectionURI, databaseName, (err, result) => { if(err) reject(err); else resolve(result); }); }); } module.exports.createCollection = (connectionURI, databaseName, collectionName, callbackFunction) => { MongoClient.connect(connectionURI, GLOBAL_OPTIONS, (error, db) => { if (error) return callbackFunction(false, error); var dbf = db.db(databaseName); dbf.createCollection(collectionName, function (err, result) { if (err) return callbackFunction(false, err); db.close(); if (callbackFunction) callbackFunction(true) }); }) } module.exports.asyncCreateCollection = async (connectionURI, databaseName, collectionName) => { return new Promise((resolve, reject) => { this.createCollection(connectionURI, databaseName, collectionName, (err, result) => { if(err) reject(err); else resolve(result); }); }); }