@kemuscorp/mongo-crud
Version:
A library to create CRUD using MongoDB
132 lines (92 loc) • 4.04 kB
Markdown
A library to handler a CRUD on your MongoDB.
`$ npm install @kemuscorp/mongodb-crud`
```js
const { MongoLib } = require('@kemuscorp/mongodb-crud')
// Connecting the client to the database
const database = new MongoLib({
hostname: process.env.HOSTNAME,
port: proccess.env.PORT,
username: process.env.USERNAME,
password: process.env.PASSWORD,
database: process.env.DATABASE
})
```
Take in mind that **hostname** and **database** are the only properties required. However, consider using a username, password and changing the default port of your MongoDB database in production.
Check out the available methods of MongoLib instance.
<details>
<summary>
<code>Method getAll(collection, query)</code>
</summary>
The method getAll returns a promise with all data of a collection. This method is based on the find method of MongoDB collection method: [db.collection.find()]('https://docs.mongodb.com/manual/reference/method/db.collection.find/')
**Example**
```js
database.getAll('users', { email })
.then(users => console.log(users))
.catch(error => console.error(error))
```
</details>
<details>
<summary>
<code>Method get(collection, id)</code>
</summary>
The method **get** returns a promise with the data of a collection based on an ID. This method is based on the findOne method of MongoDB collection method: [db.collection.findOne()]('https://docs.mongodb.com/manual/reference/method/db.collection.findOne/')
**Example**
```js
database.get('users', '60de157106ce8c61cb76c6f9')
.then(user => console.log(user))
.catch(error => console.error(error))
```
</details>
<details>
<summary>
<code>Method create(collection, data)</code>
</summary>
The method **create** returns a promise with the full document created on the collection based on the data you passed. This method is based on the findOne method of MongoDB collection method: [db.collection.findOne()]('https://docs.mongodb.com/manual/reference/method/db.collection.findOne/')
**Example**
```js
database.create('users', { email: 'user@labs.kemuscorp.com', password: 'averystrongpassword' })
.then(id => console.log(id))
.catch(error => console.error(error))
```
</details>
<details>
<summary>
<code>Method update(collection, id, data)</code>
</summary>
The method **update** returns a promise with the document updated on the collection based on the id and data you passed. This method is based on the updateOne method of MongoDB collection method: [db.collection.updateOne()]('https://docs.mongodb.com/manual/reference/method/db.collection.updateOne/')
**Example**
```js
database.replace('users', '60de157106ce8c61cb76c6f9', { email: 'newemail@kemuscorp.com' })
.then(user => console.log(user))
.catch(error => console.error(error))
```
</details>
<details>
<summary>
<code>Method replace(collection, id, data)</code>
</summary>
The method **replace** returns a promise with the document replaced on the collection based on the id and data you passed. This method is based on the replaceOne method of MongoDB collection method: [db.collection.replaceOne()]('https://docs.mongodb.com/manual/reference/method/db.collection.replaceOne/')
**Example**
```js
database.update('users', '60de157106ce8c61cb76c6f9', { email: 'newemail@kemuscorp.com' })
.then(user => console.log(user))
.catch(error => console.error(error))
```
</details>
<details>
<summary>
<code>Method delete(collection, id)</code>
</summary>
The method **delete** returns a promise with the document's id deleted. This method is based on the deleteOne method of MongoDB collection method: [db.collection.deleteOne()]('https://docs.mongodb.com/manual/reference/method/db.collection.deleteOne/')
**Example**
```js
database.delete('users', '60de157106ce8c61cb76c6f9')
.then(id => console.log(id))
.catch(error => console.error(error))
```
</details>