UNPKG

dbdjs.mongo

Version:

MongoDB wrapper using mongoose with dbdjs.db-like API

158 lines (141 loc) 4.1 kB
# DBDJS.Mongo [![NPM Version](https://img.shields.io/npm/v/dbdjs.mongo.svg?maxAge=3600)](https://www.npmjs.com/package/dbdjs.mongo) [![NPM Downloads](https://img.shields.io/npm/dt/dbdjs.mongo.svg?maxAge=3600)](https://www.npmjs.com/package/dbdjs.mongo) ## Table Of Contents - [About](#about) - [Examples](#examples) - [Default](#default-instance) - [Custom](#custom-instance) - [API](#api) - [Module](#module) - [Instance](#instance) ## About A MongoDB wrapper using mongoose with dbdjs.db like API ## Examples ### Default Instance ```js const mongoose = require("mongoose") const dbdmongo = require("dbdjs.mongo").default mongoose.connect("mongodb://localhost:27017/database", { useNewUrlParser: true, useUnifiedTopology: true, keepAlive: true }) dbdmongo.createModel("main") dbdmongo.set("main", "my_name", "Matthew") dbdmongo.set("main", "my_house", "USA") //etc ``` ### Custom Instance ```js const mongoose = require("mongoose") const dbdmongo = require("dbdjs.mongo") ;(async () => { const instance = dbdmongo.create(await mongoose.createConnection("mongodb://localhost:27017/database", { useNewUrlParser: true, useUnifiedTopology: true, keepAlive: true })) instance.createModel("main") dbdmongo.set("main", "my_name", "Matthew") dbdmongo.set("main", "my_house", "USA") //etc }) ``` ## API ### Module - default - Default dbdjs.mongo instance - Type: [Instance](#instance) ```js const dbdmongo = require("dbdjs.mongo").default ``` - create(mongoInstance) - Create a dbdjs.mongo instance - Parameters - mongoInstance: [Mongoose](https://mongoosejs.com/docs/api/mongoose.html) | [Connection](https://mongoosejs.com/docs/api/connection.html) - Return: [Instance](#instance) ```js const dbdmongo = require("dbdjs.mongo").create(await mongoose.createConnection( "mongodb://localhost:27017/database", { useNewUrlParser: true, useUnifiedTopology: true, keepAlive: true })) ``` ### Instance - setInstance(mongoInstance) - Set a mongo instance to the dbdjs.mongo instance - Paramaters - mongoInstance: [Mongoose](https://mongoosejs.com/docs/api/mongoose.html) | [Connection](https://mongoosejs.com/docs/api/connection.html) - Return: void ```js dbdmongo.setInstance(await mongoose.createConnection( "mongodb://localhost:27017/database", { useNewUrlParser: true, useUnifiedTopology: true, keepAlive: true })) ``` - createModel(name) - Create a model to the dbdjs.mongo instance - Parameters - name: string - Return: void ```js dbdmongo.createModel("main") ``` - getModel(name) - Get a model from the dbdjs.mongo instance - Parameters - name: string - Return: [Model](https://mongoosejs.com/docs/api/model.html) ```js dbdmongo.getModel("main") ``` - deleteModel(name) - Delete a model from the dbdjs.mongo instance - Parameters - name: string - Return: void ```js dbdmongo.deleteModel("main") ``` - set(model, key, value) - Set a data to the model - Parameters - model: string - key: string - value: any - Return: boolean ```js dbdmongo.set("main", "my_name", "Matthew") ``` - get(model, key) - Get a data from the model - Parameters - model: string - key: string - Return: { key: string, value: any } ```js dbdmongo.get("main", "my_name") ``` - all(model, options) - Get all data from the model and filter it - Parameters - model: string - options: object - filter: (document: { key: string, data: any }) => boolean - Return: Array<{ key: string, data: any }> ```js dbdmongo.all("main", { filter: d => d.data === "Matthew" }) ``` - delete(model, key) - Delete a data from the model - Parameters - model: string - key: string - Return: boolean ```js dbdmongo.delete("main", "my_name") ```