1.0.0 • Published 12 days ago
@aoitelegram/database v1.0.0
@aoitelegram/database
@aoitelegram/database
is a Node.js library for managing various types of databases, including Firebase Realtime Database, MongoDB, and a generic file-based storage solution. It provides a unified interface for performing CRUD operations, managing events, and checking database responsiveness.
Installation
You can install the library via npm:
npm install @aoitelegram/database
Usage
FirebaseDB
import { FirebaseDB } from "@aoitelegram/database";
// Create a FirebaseDB instance
const db = new FirebaseDB("<your-firebase-database-url>", {
projectId: "<your-firebase-priject-id>",
tables: ["users", "posts"], // Optional: specify tables
});
// Connect to the Firebase database
await db.connect();
// Perform operations such as get, set, delete, etc.
await db.set("users", "user1", { name: "John", age: 30 });
const user = await db.get("users", "user1");
console.log(user); // Output: { name: 'John', age: 30 }
MongoDB
import { MongoDB } from "@aoitelegram/database";
// Create a MongoDB instance
const db = new MongoDB("<your-mongodb-url>", {
tables: ["users", "posts"], // Specify tables
});
// Connect to the MongoDB database
await db.connect();
// Perform operations such as get, set, delete, etc.
await db.set("users", "user1", { name: "John", age: 30 });
const user = await db.get("users", "user1");
console.log(user); // Output: { name: 'John', age: 30 }
StorageDB
import { StorageDB } from "@aoitelegram/database";
// Create a StorageDB instance
const db = new StorageDB({
path: "./data", // Optional: specify data directory
tables: ["users", "posts"], // Optional: specify tables
});
// Connect to the storage database
await db.connect();
// Perform operations such as get, set, delete, etc.
await db.set("users", "user1", { name: "John", age: 30 });
const user = await db.get("users", "user1");
console.log(user); // Output: { name: 'John', age: 30 }
API Documentation
Please refer to the API Documentation for detailed information on classes, methods, and usage examples.
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
This library is released under the MIT License.