UNPKG

flexiblepersistence

Version:
69 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // import { MongoClient, Db } from 'mongodb'; const mongoose_1 = require("mongoose"); class MongoDB { constructor(databaseInfo) { let string; if (databaseInfo.username !== undefined && databaseInfo.password !== undefined) { string = databaseInfo.username + ':' + databaseInfo.password + '@' + databaseInfo.host; } else { string = databaseInfo.host; } this.databaseInfo = databaseInfo; // let mongoose = new Mongoose(); this.mongooseInstance = new mongoose_1.Mongoose(); // this.mongooseInstance = this.mongooseInstance.connect('mongodb://' + string + ':' + databaseInfo.port + '/' + databaseInfo.database, { useNewUrlParser: true, useUnifiedTopology: true }); this.genericSchema = new this.mongooseInstance.Schema({}, { strict: false }); } updateItem(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.findOneAndUpdate(item, (error, doc, result) => { callback(error, doc._doc); }); } readArray(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.find(item, (error, doc, result) => { callback(error, doc.map(a => a._doc)); }); } readItem(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.findOne(item, (error, doc, result) => { callback(error, doc._doc); }); } readItemById(scheme, id, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.findById(id, (error, doc, result) => { callback(error, doc._doc); }); } deleteArray(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.deleteMany(item, (error) => { callback(error); }); } addItem(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.create(item, (error, doc, result) => { callback(error, doc._doc); }); } deleteItem(scheme, item, callback) { let model = this.mongooseInstance.model(scheme, this.genericSchema); model.findByIdAndDelete(item, (error, doc) => { callback(error, doc); }); } getDatabaseInfo() { return this.databaseInfo; } } exports.MongoDB = MongoDB; //# sourceMappingURL=mongoDB.js.map