1.0.1 • Published 1 year ago

lil-db-js v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

lil-db (Local, Indexed and Lightweight database)

Introduction

lil-db is an open source database model that can be applied to any Node JS proyect in a few steps. Lil-db solves the two main problems of the traditional local databases models:

  • It divides the data into files, so the reading and writing processes are cost-friendly
  • It creates indexes so you can make complex searchs without reading files and looping through each object in your collection

Getting started

To start using lil-db, just install it in your project with npm:

npm install lil-db-js

Or using YARN:

yarn add lil-db-js

Basic usage

//This code must be enclosed on an async function in order to use the "await" keyword

const db = require("lil-db-js")

//Initializing the database
await db.init("your-path","secret-to-encrypt-passwords")

//Creating a new collection
const model = {
    name:{
        type:"string",
        index:true
    },
    email:{
       type:"email",
       index:true,
       unique:true
    },
    password:"password",
    age:"number",
    optionalData:"any"
}

await db.newCollection("your-collection-name",model)

//Inserting a new object
const object = {
    username:"User1",
    email:"user1@user1.com",
    password:"1234",
    age:18,
    optionalData:undefined
}

await db.insert("your-collection-name",object)

//Getting an object
const found = await db.find("your-collection-name","username",username => username === "User1")

//Modifying an object
await db.modify("your-collection-name",found.id,obj => {
           obj["age"] = 19
           return obj 
})

//Deleting an object
await db.delete("your-collection-name",found.id)

//Deleting a collection
await db.deleteCollection("your-collection-name","cascade")

Docs

To learn how to use lil-db.js, check the official documentation

License

This projects runs under the MIT license. You can find a full copy of the license inside the repository.

1.0.1

1 year ago

1.0.0

1 year ago