dbdjs.mongo
Version:
MongoDB wrapper using mongoose with dbdjs.db-like API
158 lines (141 loc) • 4.1 kB
Markdown
# DBDJS.Mongo
[](https://www.npmjs.com/package/dbdjs.mongo)
[](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")
```