1.0.0 • Published 11 months ago

simple.dbms v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

SimpleDB

SimpleDB is a lightweight, file-based NoSQL database designed for ease of use and simplicity. It provides basic functionalities for creating, reading, updating, and deleting records. It is ideal for small projects or applications where a full-fledged database might be overkill, like a discord bot.

Features

  • File-based database storage
  • Schema definition
  • Basic CRUD operations (Create, Read, Update, Delete)
  • Support for unique and auto-incrementing fields

Installation

To install SimpleDB, use npm:

npm install simple.dbms

Getting Started

Initialize SimpleDB

First, require and initialize SimpleDB with a path to the database file:

const { SimpleDB, Schema, Model } = require('simple.dbms');
const path = require('path');

// Initialize SimpleDB
const db = new SimpleDB(path.resolve(__dirname, 'database.spdb'));

Define a Schema

Create a schema to define the structure of your data:

const userSchema = new Schema({
    userId: { type: 'string', unique: true },
    balance: { type: 'number', default: 0 }
});

Create a Model

Create a model using the schema and SimpleDB instance:

const UserModel = new Model('users', userSchema, db);

Basic Operations

Creating Records

Insert a new record into the database:

const newUser = { userId: '12345', balance: 100 };
await UserModel.create(newUser);

Finding Records

Find records by querying:

const user = await UserModel.findOne({ userId: '12345' });
console.log(user); // Output: { userId: '12345', balance: 100 }

Updating Records

Update existing records:

await UserModel.update({ userId: '12345' }, { balance: 200 });

Deleting Records

Delete records:

await UserModel.delete({ userId: '12345' });

Advanced Features

Auto-Increment Fields

Define auto-incrementing fields in your schema:

const autoIncrementSchema = new Schema({
    id: { type: 'number', autoIncrement: true },
    name: { type: 'string' }
});

Unique Fields

Ensure field values are unique:

const userSchema = new Schema({
    email: { type: 'string', unique: true }
});

Credits and Support

This package was created by MeowDev7. For support or to join the community, visit our Discord server:

Join our Discord Server

License

MIT License. See the LICENSE file for details.

1.0.0

11 months ago