syamdanda/jsonbase
syamdanda/jsonbase has 560 GitHub stars and 35 forks. GitHot measured -1 in 7 days. Last checked 2026-11-10 03:28 UTC. Last push 2022-05-24.
A database software completely built as JSON files in backend. A powerful, portable and simple database works on top of JSON files. It is like a database software, currently having basic CRUD operation features. You can use this as a backend for your ReST APIs as well. The software is completely free and opensource. We are coming up with new features and providing more updates. The another beautiful advantage with JSON-base is since it is a NPM module, this fits well in your nodeJs applications eco system. if you want to develop quick prototypes/poc or need of a database with minimal requirements then, JSONBASe is an must option that you can consider. However there is a limitation if you go beyond a million records per table.
Crecimiento de estrellas medido
- in 24h
- Actualización retrasada
- in 7 days
- -1
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
OriginalJson-Base
A database software completely built as JSON files in backend. A powerful, portable and simple database works on top of JSON files. It is like a database software, currently having basic CRUD operation features. You can use this as a backend for your ReST APIs as well. The software is completely free and opensource. We are coming up with new features and providing more updates. The another beautiful advantage with JSON-base is since it is a NPM module, this fits well in your nodeJs applications eco system. if you want to develop quick prototypes/poc or need of a database with minimal requirements then, JSONBASe is an must option that you can consider. However there is a limitation if you go beyond a million records per table.
@@ Currently in Pre-Alpha Version @@
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. Checkout the below examples to know how to use the JSON-Base built in APIs.
Installing
A step by step series of examples that tell you how to get started with JSON-Base
npm i @syamdanda/json-base
And then import the json-base npm module into your nodejs application
var jsonDB = require('@syamdanda/json-base');
Documentation
Check-out the below code snippets to use the JSON-Base module in your application.
Database Operations
- To create database
let options = {
'name': 'myDatabase'
};
jsonDB.createDatabase(options, function(response) {
console.log(JSON.stringify(response));
});
- To delete database
let options = {
'name': 'myDatabase'
};
jsonDB.dropDatabase(options, function(response) {
console.log(JSON.stringify(response));
});
Table Operations
- To create table
let options = {
'database': 'myDatabase',
'tableName': 'Users'
};
jsonDB.createTable(options, function(response) {
console.log(JSON.stringify(response));
});
- To drop table
let options = {
'database': 'myDatabase',
'tableName': 'Users'
};
jsonDB.dropTable(options, function(response) {
console.log(JSON.stringify(response));
});
- To insert record table
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'record': {'email': '[email protected]', 'phone': '+1 1234567890', 'name': 'userName'}
};
jsonDB.insertRecord(options, function(response) {
console.log(JSON.stringify(response));
});
- To insert more than one record
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'records': [{'email': '[email protected]', 'phone': '+1 1234567890', 'name': 'userName'},{'email': '[email protected]', 'phone': '+1 1234567890', 'name': 'userName2'}]
};
jsonDB.batchInsert(options, function(response) {
console.log(JSON.stringify(response));
});
- To get record by Id
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'recordId': 1
};
jsonDB.getRecordById(options, function(response) {
console.log(JSON.stringify(response));
});
- To get record by key value
If you want to search and retrieve a record based on some key and value use the below method.
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'key': 'email',
'value': '[email protected]'
};
jsonDB.getRecordByKeyValue(options, function(response) {
console.log(JSON.stringify(response));
});
- To get record by more than one key value or object.
If you want to search and retrieve a record based on more than one key and value use the below method.
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'obj': {'email': '[email protected]', 'phone': '+1 1234567890', 'name': 'userName'}
};
jsonDB.getRecordByObject(options, function(response) {
console.log(JSON.stringify(response));
});
- To get records based on search flag
you can define any one value for flag
- beginsWith : searches records whose value is begins with the mentioned value for the key
- endsWith : searches records whose value is endsWith with the mentioned value for the key
- contains : searches records whose value contains with the mentioned value for the key
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'key': 'email',
'value': 'gmail',
'flag': 'contains'
};
jsonDB.getRecordsBySearch(options, function(response) {
console.log(JSON.stringify(response));
});
- To get all records from a table
let options = {
'database': 'myDatabase',
'tableName': 'Users'
};
jsonDB.getAllRecords(options, function(response) {
console.log(JSON.stringify(response));
});
- To delete record by Id
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'recordId': 1
};
jsonDB.deleteRecordById(options, function(response) {
console.log(JSON.stringify(response));
});
- To update record by Id
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'recordId': 1,
'recordObj': {'email': 'new123', 'pwd': 'password'}
};
jsonDB.updateRecordById(options, function(response) {
console.log(JSON.stringify(response));
});
- To update record by key value
let options = {
'database': 'myDatabase',
'tableName': 'Users',
'key': 'email',
'value': '[email protected]',
'recordObj': {'email': 'new123', 'pwd': 'password'}
};
jsonDB.updateRecordByKeyValue(options, function(response) {
console.log(JSON.stringify(response));
});
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
- Issue fixes in 0.1.0 on 01.Jul.2020
- Added getRecordsBySearch API in 0.0.9 on 01.Jul.2020
- Documentation and issue fixes in 0.0.8 on 30.Jun.2020
- Added documentation in 0.0.7 on 29.Jun.2020
- Current stable version is 0.0.5 which is released on 27.Jun.2020
Authors
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Explorar proyectos relacionados
Asabeneh/30-Days-Of-Python
El reto de programación 30 Days of Python es una guía paso a paso para aprender el lenguaje de programación Python en 30 días. Este reto puede llevar más de 100 días. Sigue tu propio ritmo. Estos vídeos también pueden ayudarte: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 estrellasgrafana/grafana
Plataforma abierta y componible de observabilidad y visualización de datos. Visualiza métricas, registros y trazas de múltiples fuentes, como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres y muchas más.
77,830 estrellasredis/redis
Para los desarrolladores que crean aplicaciones en tiempo real basadas en datos, Redis es la opción preferida, la más rápida y la de más funciones como caché, servidor de estructuras de datos y motor de consultas de documentos y vectores.
77,395 estrellasapache/superset
Apache Superset es una plataforma de visualización y exploración de datos.
75,473 estrellas