# simple-mongojs-driver

This is a very simple mongoDB NodeJS driver easy to use


Update 1.0.1 

```
Added Async Functions
```

### Installation
```sh
npm install --save simple-mongojs-driver
```

A compact examples file can be found in `path/to/project/node_modules/simple-mongojs-driver/example.js`


##### Require the Driver

```js
const db = require("simple-mongojs-driver")
const mongoDB_URI_Example = 'mongodb://user:password@127.0.0.1:27017' // or
const mongoDB_URI2_Example = 'mongodb://127.0.0.1:27017'

var databaseName = 'myDatabaseToFill'
```

### Usage Basic Functions with callback

##### Example QueryObjects

```js
db.query(mongoDB_URI_Example, databaseName, "users", {

    username: "exapleUser"

}, (result, error) => {

    if(error) return console.log(error)
    if(!result[0]) return console.log("No results found for given Query")

    console.log(result)

})
```

##### Example insert Object

```js
db.insertObject(mongoDB_URI_Example, databaseName, "users", {

    username: "exapleUser"

}, (result, error) => {

    if(error) return console.log(error)
    console.log("Inserted X successfully...")

})
```
##### Example update Object to add more entries or change values

```js
db.updateObject(mongoDB_URI_Example, databaseName, "users", {

    username: "exapleUser"
    
}, {

    username: "exapleUser_accepted",
    first_name: "Max",
    last_name: "Mueller",
    email: "max.mueller@example.org"

}, (result, error) => {

    if(error) return console.log(error)
    console.log("Updaed X successfully...")

})
```
##### Example deleteObjects

```js
db.deleteObject(mongoDB_URI_Example, databaseName, "users", {

    username: "exapleUser_accepted"

}, (result, error) => {

    if(error) return console.log(error)
    console.log("Deleted X successfully...")

})
```

### Usage Async Functions with promise

##### Example QueryObjects

```js
db.asyncQuery(mongoDB_URI_Example, databaseName, "users", {
    username: "exapleUser"
})
.then(result => {
    if(!result[0]) {
        console.log("Nothing found...")
    } else {
        console.log(result[0])
    }
})
.catch(error => {
    console.log(error)
})
```
##### Example insert Object

```js
db.asyncInsertObject(mongoDB_URI_Example, databaseName, "users", {
    username: "exapleUser"
})
.then(result => {
    console.log("Inserted...")
})
.catch(error => {
    console.log(error)
})
```

#### The rest of all Functions is available with async promise too
Take a look at the package examples `path/to/project/node_modules/simple-mongojs-driver/example.js`


There are methods to create a Database and Collection too. 
It's self explaining how that works by the methods up there :) 


Enjoy IT!
