abyjs.db
Version:
abyjs.db - A Database with Speed and Optimization.
140 lines (121 loc) • 4.52 kB
Markdown
[](https://discord.gg/zsmexjvqP7)
[](https://discord.gg/zsmexjvqP7)
- [About](
- [Examples](
- [Setup](
- [Set](
- [Get](
- [Get All](
- [Delete](
- [API](
- [Database](
- [Interfaces](
- [Database Options](
- [Table](
- [Data](
- [All Options](
- [All Data](
- [Links](
abyjs.db is a database that aims to be swift and optimal.
```js
const abyjsDB = require("abyjs.db");
const db = new abyjsDB.Database({
path: "database",
tables: {{
name: "test",
}},
});
db.once("ready", () => {
console.log("Database ready!");
});
db.connect();
```
```js
await db.set("test", "apple", "turtle.");
await db.set("test", "leref", "abyjs.db owner");
```
```js
const apple = await db.get("test", "apple");
const leref = await db.get("test", "leref");
```
```js
const lerefAndApple = await db.all("test", {
filter: ({ data }) => data.key.includes("w"),
});
```
```js
await db.delete("test", "apple");
await db.delete("test", "leref");
```
| Params | Description |
| :--- | ---: |
| options: [DatabaseOptions](
-
| Params | Return | Description |
| :--- | :---: | ---: |
| table: string, key: string, value: any | Promise\<boolean> | Set method for the database. |
-
| Params | Return | Description |
| :--- | :---: | ---: |
| table: string, key: string | Promise\<[Data](
-
| Params | Return | Description |
| :--- | :---: | ---: |
| table: string, options: [AllOptions](
-
| Params | Return | Description |
| :--- | :---: | ---: |
| table: string, key: string | Promise\<boolean> | Delete method for the database. |
| Property | Value | Default | Description |
| :--- | :---: | :---: | ---: |
| tables | [Table](
| path? | string | "database" | Path to main database folder. |
| maxFileData? | number | 50000 | The max data that a file can store. |
| debug? | boolean | false | Whether the database should send debug log events. |
| extension? | string | ".sql" | The extension for each file in the database. |
| force? | boolean | false | Whether to force the database to save or delete data on the file. |
| cache? | number | 3000 | How many data can the database store in memory cache. |
| timestamp? | boolean | false | Whether the database should save timestamp for each data. |
| saveTime? | number | 100 | How long until the database can save the data into file (ms). |
| getTime? | number | 1 | How long until the database pull a data from file (ms). |
| allTime? | number | 100 | How long until the database pull some data from file (ms). |
| deleteTime? | number | 100 | How long until the database delete a data from file (ms). |
| cacheRouters? | boolean | true | Whether the database should cache data routers on startup. |
### Table
| Property | Value | Description |
| :--- | :---: | ---: |
| name | string | Name for the table, this will also define the path to this table file. |
### Data
| Property | Value | Description |
| :--- | :---: | ---:
| key | string | The key of the data. |
| value | any | The value of the data. |
| ttl? | number | The ttl for the data. |
| createdAt? | number | The time which this data was created. |
| updatedAt? | number | The time which this data was last updated. |
### All Options
| Property | Value | Description |
| :--- | :---: | ---: |
| filter | (allData: [AllData](#all-data)) => boolean | The function to filters data. |
| Property | Value | Description |
| :--- | :---: | ---: |
| key | string | The key of the data. |
| data | [Data](
abyjs.db was created for [aby.js](https://www.npmjs.com/package/aby.js) now available for anyone to learn and use.
- [Website](http://www.abyworld.tk/)
- [Discord Server](https://discord.gg/zsmexjvqP7)