Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/tush-tr/nosondb

A Simple , Lightweight , Efficent JSON based database for Nodejs.
https://github.com/tush-tr/nosondb

database db javascript json nodejs nosql nosql-database

Last synced: 18 days ago
JSON representation

A Simple , Lightweight , Efficent JSON based database for Nodejs.

Awesome Lists containing this project

README

        

tush_tr604

# nosondb

A json based database you can use in your nodejs projects just by installing the package.

nosondb enables you to use a json file as a database for your project.

# How to use it?

### Installing the package

```sh
npm i @tush-tr/nosondb
```

### Require the package in your JS file

```js
const nosondb = require("@tush-tr/nosondb")
```

### Create a new instance from the required package

```js
const nosondb = require("@tush-tr/nosondb")
const nodb = new nosondb("db.json") // specify your json file name you want to use as database
```

# Functionalities

Method
Input Arguments
Return Value
Description

getAll
-
[user]
Gets a list of all users

getOne
id
user
finds the user with a given id

getOneBy
filters
user
finds one user with the given filters

create
attributes
null
creates a user with the given attributes

update
id,attributes
null
updates the user with the given id using the given attributes

delete
id
null
delete the user with the given id

randomId
-
id
generates a random id

writeAll
-
null
writes all users to a user.json file

###

  • Creating a record

    ```js
    await nodb.create(data)
    ```

    ###

  • Updating a record

    ```js
    await nodb.update(id,data)
    ```

    ###

  • Deleting a record

    ```js
    await nodb.delete(id)
    ```

    ###

  • Finding all records

    ```js
    const allData = await nodb.getAll();
    ```

    ###

  • Finding one specific record by Id

    ```js
    const specificData = await nodb.getOne(id)
    ```

    ###

  • Finding one specific record by filters

    ```js
    const filteredData = await nodb.getOneBy(data)
    ```

    # Examples

    ###

  • Create a record

    ```js
    const createRecord = async ()=>{
    await nodb.create({name: "Product1",price: 12})
    }
    ```

    A new object will be created inside your json file with a id field also.

    ###

  • Update a record

    ```js
    const updateRecord = async ()=>{
    await nodb.update("800dc06c",{name: "Keyboard"})
    }
    ```

    first argument of update function will take your id name.

    ###

  • Delete a record

    ```js
    const deleteRecord = async ()=>{
    await nodb.delete("800dc06c")
    }
    ```

    delete function also requires id name.

    ###

  • Find all records

    ```js
    const findRecords = async ()=>{
    const allData = await nodb.getAll();
    console.log(allData)
    }
    ```

    ###

  • Find one specific record by Id

    ```js
    const findRecord = async ()=>{
    const specificData = await nodb.getOne("800dc06c")
    console.log(specificData)
    }
    ```

    ###

  • Find one specific record by filters

    ```js
    const createRecord = async ()=>{
    const filteredData = await nodb.getOneBy({name: 'Product1'})
    console.log(filterdData)
    }
    ```

    ###

  • Find some records by filters

    ```js
    const fetchRecords = async ()=>{
    const filteredData = await nodb.getAllBy({name: 'Product1'})
    console.log(filterdData)
    }
    ```

    # Contributing 🍻

    I welcome pull requests, bug fixes and issue reports. Before proposing a change, please discuss your change by raising an issue.

    # Maintainer 😎

    [Tushar Rajpoot](https://twitter.com/tush_tr604)

    ## License

    [MIT license](LICENSE) © Tushar Rajpoot