Apache License 2.0

项目介绍

syamdanda/jsonbase 是一个托管在 GitHub 上的开源项目,主要使用 JavaScript 编写,采用 Apache License 2.0 许可证,目前获得 561 个 Star、35 次 Fork。

仓库全名
syamdanda/jsonbase
开源许可证
Apache License 2.0
Star 数
561
Fork 数
35
未关闭 Issue
3

README 摘要

Json-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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

jsonbase 用什么语言开发?

主要使用 JavaScript 编写,采用 Apache License 2.0 许可证,目前有 561 个 Star。

jsonbase 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 jsonbase 的源码?

可以直接克隆仓库:git clone https://github.com/syamdanda/jsonbase.git,默认分支为 master;安装与运行步骤见仓库 README。

jsonbase 最近还在维护吗?

仓库最近一次更新为 2022年5月24日,当前有 3 个未关闭 Issue;Star 数为 561,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

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.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
645
价值分
348
活跃状态
活跃

语言占比

JavaScript

README

Json-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));
});

⬆ Back to Top

  • 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

评论

暂无评论