aikodb

1.1.6 • Public • Published

Downloads DownloadPerMonth

AikoDB

AikoDB is a lightweight, fast, and easy-to-use database module based on JSON. It's perfect for use in small projects, prototyping, or even Discord bots where a full-scale database system is overkill.


📦 Installation

Install via npm:

npm install aikodb

🚀 Basic Usage

Using AikoDB is extremely simple. You can start using it with just a few lines:

const AikoDB = require('aikodb');
const db = new AikoDB('json', 'database.json');

(async () => {
  await db.set('user1', { xp: 50 });
  console.log(db.get('user1'));

  await db.push('logs', 'Login Users.');
  console.log(db.get('logs'));

  console.log(db.has('user1')); // true
  console.log(db.size());       // database entry count

  await db.removeFromArray('logs', 'Login Users.');
  console.log(db.get('logs'));

  await db.clear(); // clears all data
})();

📚 API Reference

📥 add(key, value)

Adds a key with the given value to the database. Alias of set().

📤 get(key)

Returns the value of the given key.

📝 set(key, value)

Creates or updates a key with the specified value.

delete(key)

Deletes the specified key from the database.

📄 all()

Returns the entire database object.

🔁 push(key, value)

Pushes a value to an array stored under the key. Creates the array if it doesn't exist.

🧹 clear()

Clears the entire database.

🔎 has(key)

Returns true if the key exists in the database.

📊 size()

Returns the number of entries in the database.

🔑 keys()

Returns an array of all keys.

🎯 values()

Returns an array of all values.

🧪 filter(callback)

Filters entries based on a function.

db.filter(item => item.age > 20);

🔍 find(property, value)

Returns entries where object[property] === value.

db.find("username", "furkan");

📈 sort(byKey, order)

Sorts data by key and order (asc or desc).

db.sort("xp", "desc");

🔄 reload()

Reloads the data from the file.

💾 save()

Manually saves the current state to the file.


🤖 Example: With Discord Bot

const AikoDB = require('aikodb');
const db = new AikoDB('json', 'data.json');

client.on('messageCreate', async message => {
  if (message.author.bot) return;

  const userId = message.author.id;
  const user = db.get(userId) || { xp: 0 };

  user.xp += 10;
  await db.set(userId, user);
});

✨ Support

Need help? Join our Discord server
Get help on the #support channel.
Or DM me directly via my Discord profile.

Package Sidebar

Install

npm i aikodb

Weekly Downloads

18

Version

1.1.6

License

MIT

Unpacked Size

13.5 kB

Total Files

8

Last publish

Collaborators

  • furkibu