Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jelorivera08/0676b10a9de26ce137c5ee2e93746ec8 to your computer and use it in GitHub Desktop.
Save jelorivera08/0676b10a9de26ce137c5ee2e93746ec8 to your computer and use it in GitHub Desktop.
const { getDB } = require('../config/databaseConnection');
const ObjectId = require('mongodb').ObjectId;
class MongoDbRepo {
constructor(collectionName) {
this.collection = getDB().collection(collectionName);
}
getAll() {
return new Promise((resolve, reject) => {
this.collection.find({}).toArray((err, data) => {
if (err) {
reject(err);
}
resolve(data);
});
});
}
geById(_id) {
return new Promise((resolve, reject) => {
this.collection.findOne({ _id: ObjectId(_id) }, (err, data) => {
if (err) {
reject(err);
}
resolve(data);
});
});
}
updateOne(_id, opt) {
return new Promise((resolve, reject) => {
this.collection.findOneAndUpdate(
{ _id: ObjectId(_id) },
{ $set: opt },
{ returnOriginal: false },
(err, data) => {
if (err) {
reject(err);
}
resolve(data.value);
}
);
});
}
deleteOne(_id) {
return new Promise((resolve, reject) => {
this.collection.findOneAndDelete({ _id: ObjectId(_id) }, (err, data) => {
if (err) {
reject(err);
}
resolve(data);
});
});
}
create(opt) {
return new Promise((resolve, reject) => {
this.collection.insertOne(opt, (err, data) => {
if (err) {
reject(err);
}
resolve(data.ops[0]);
});
1;
});
}
}
module.exports = MongoDbRepo;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment