Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/owenpotent/mongo-go

An easy to use database handler for MongoDB, inspired by quick.db!
https://github.com/owenpotent/mongo-go

database mongo mongo-go mongodb mongodb-database mongoose mongoosejs

Last synced: 13 days ago
JSON representation

An easy to use database handler for MongoDB, inspired by quick.db!

Awesome Lists containing this project

README

        

## MongoGo

An easy to use database handler for MongoDB, inspired by quick.db! MongoGo handles the hard part in getters, setters, and much more!

## Installation

Using NPM:

```shell
npm install mongo-go
```

Using Yarn:

```shell
yarn add mongo-go
```

## Getting Started

To get started with using MongoGo, import the default class from the package.

```js
// Using Node.js `require()`
const MongoGo = require("mongo-go");

// Using ES6 imports
import MongoGo from "mongo-go"
```

## Overview

**Connecting to MongoDB**

First, we need to establish a connection. MongoGo handles it easily by defining a new `instance` of MongoGo. A function `.ready()` is then fired when you start your app. The only parameter needed is a `MongoURI` or if your using a localhost, use `mongodb://localhost:27017/my_database`.

Here is an example:

```js
const MongoClient = new MongoGo("mongodb://localhost:27017/my_database")
```

You don't have to pass in another method to connect it by yourself, once you've started the app, it'll start a connection to the cloud and return a `Connection`.

**Important!** Due to an issue with the Mongoose's `ConnectionOptions` option, `useNewURLParser` isn't use during the connection, in some case, an error or warning might pop-up whilst connecting.

**Do we have to define a model/schema?**
Nope, like we said, MongoGo handles it all! it uses 2 parameters in a built-in `model` we made, which are a "key" and a "value".

- A `"key"` is also the id, which is used to set a new `Object`, get the data from the `"key"` and others. The `"key"` parameter **must** always be a `String` type value.
- A `"value"` is just the data that will be stored with the `"key"` together in an `Object` literal in the database. A `"value"` can be any type of value!

### Methods

Currently, all method returns a `Promise`.

#### get

```js
const data = await .get("Hello")
```

#### set

```js
await .set("Hello", "World")
```

#### delete

```js
await .delete("Hello")
```

#### push

```js
await .push("Hello", ["World", "Earth", "Moon"...])
```

#### collection

```js
console.log(.collection)
```

**Important!**
Keep it mind that `` is just an example instance, you may rename it to your own likings.

## License

MongoGo is licensed under the MIT license. See [LICENSE](https://github.com/git/git-scm.com) for more information.

## Updates

- **1.0.0**
- Initial release
- **1.1.0**
- Added `push` method
- Added `collection` getter
- Added `logger` class