Simple and lightweight and asynchronous file-based JSON database.
npm install jnbaseJNBase is a simple and lightweight and asynchronous file-based JSON database. It features in-memory caching, atomic writes to prevent data corruption, and Mutex locking to ensure concurrency safety.
``bash`
npm i jnbase
#### CommonJS
`js`
const { createData, getDataById } = require("jnbase");
#### ModuleJS
`js`
import { createData, getDataById } from "jnbase";
`js
const {
createKey,
createData,
getDataByObject,
updateDataById,
deleteDataById,
} = require("jnbase");
(async () => {
await createKey("users");
await createData("users", {
name: "Alice",
age: 25,
role: "admin",
});
const users = await getDataByObject("users", {
name: "Alice",
});
const user = users[0];
console.log(user);
await updateDataById("users", user.id, {
age: 26,
});
await deleteDataById("users", user.id);
})();
`
| Method | Description | Parameters | Returns |
| -------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------- |
| createKey | Creates a new empty array for a key if it does not exist. | key (string) | Promise |getKeyData
| | Retrieves all data associated with a key. | key (string) | Promise |setKeyData
| | Overwrites all data for a specific key. | key (string), value (array) | Promise |renameKey
| | Renames an existing key. | key (string), newKey (string) | Promise |deleteKey
| | Deletes a key and all its data. | key (string) | Promise |clearKeyData
| | Empties the array for a specific key. | key (string) | Promise |createData
| | Adds a new object to a key array. Generates UUID if missing. Checks for duplicates. | key (string), data (object) | Promise |createMultipleData
| | Adds multiple objects to a key array efficiently. | key (string), dataList (array) | Promise |getDataById
| | Retrieves a specific item by its ID. | key (string), id (string) | Promise
- MIT