dbdjs.mongo
Version:
MongoDB wrapper using mongoose with dbdjs.db-like API
45 lines (37 loc) • 1.14 kB
JavaScript
const mongoose = require("mongoose");
const createModel = require("./createModel");
const getModel = require("./getModel");
const deleteModel = require("./deleteModel");
const setInstance = require("./setInstance");
const set = require("./methods/set");
const get = require("./methods/get");
const all = require("./methods/all");
const deleteData = require("./methods/delete");
function create(mongoInstance) {
if (
!(
mongoInstance instanceof mongoose.Mongoose ||
mongoInstance instanceof mongoose.Connection
)
)
throw new TypeError(
"Invalid type of instance given, expecting mongoose or connection"
);
const bind = Object.create(null);
bind.models = new Map();
bind.instance = mongoInstance;
return {
createModel: createModel.bind(null, bind),
getModel: getModel.bind(null, bind),
deleteModel: deleteModel.bind(null, bind),
setInstance: setInstance.bind(null, bind),
set: set.bind(null, bind),
get: get.bind(null, bind),
all: all.bind(null, bind),
delete: deleteData.bind(null, bind),
};
}
module.exports = {
create,
default: create(mongoose),
};