simple-mongojs-driver
Version:
A very simplistic MongoDB-JS driver
144 lines (129 loc) • 5.38 kB
JavaScript
/*
* 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
*
*/
;
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);
});
});
}