pg-easy-orm
v1.0.2
Published
Lightweight Node.js ORM for PostgreSQL with safe, easy CRUD.
Downloads
8
Readme
📦 pg-easy-orm
A lightweight and beginner-friendly ORM for PostgreSQL in Node.js and TypeScript.
No models, no decorators — just simple functions for fast development.
✨ Features
- ⚡ Simple CRUD (Create, Read, Update, Delete)
- 📑 Pagination and filtering support
- 🧪 Written in TypeScript
- ✅ Supports parameterized queries (safe from SQL injection)
- 🛠 No need to define models
- 📦 Perfect for quick backend projects or admin dashboards
📥 Installation
npm install pg-easy-orm🧠 Basic Usage
import { PgEasyORM } from 'pg-easy-orm';
const db = new PgEasyORM('your-postgres-url');
db.table = 'users';
db.uniqueField = 'id';🔍 List Records
db.page = 1; // current page
db.rpp = 10; // records per page
const users = await db.listRecords('*');
console.log(users);🔍 With WHERE clause
db.where = "WHERE role = 'admin'";
const admins = await db.listRecords('*');📄 Get Single Record
const user = await db.selectRecord(1);
console.log(user.rows[0]);➕ Insert Record
const id = await db.insertRecord({
name: 'John Doe',
email: '[email protected]',
role: 'user',
});
console.log('Inserted ID:', id);🔄 Update Record
await db.updateRecord(1, {
name: 'Jane Doe',
role: 'admin'
});❌ Delete Record
await db.deleteRecord(1);📊 Count Records
const count = await db.selectCount('users', 'id');
console.log('Total users:', count);🚀 Bulk Insert
await db.insertBulkRecord('users', [
{ name: 'User A', email: '[email protected]' },
{ name: 'User B', email: '[email protected]' }
]);📐 Custom Query (Raw SQL)
await db.execute('SELECT * FROM users WHERE role = $1', ['admin']);📄 API Reference
| Method | Description |
|----------------------|-------------------------------------|
| listRecords() | Paginated listing of rows |
| allRecords() | All rows without pagination |
| selectRecord(id) | Get a single row by ID |
| insertRecord(data) | Insert one row |
| updateRecord(id, data) | Update a row by ID |
| deleteRecord(id) | Delete a row by ID |
| insertBulkRecord(table, data[]) | Bulk insert multiple rows |
| selectCount(table, field) | Get total count of rows |
| execute(query, params) | Run raw SQL |
🧪 Example
(async () => {
const db = new PgEasyORM('postgres://username:password@host:port/database');
db.table = 'users';
db.uniqueField = 'id';
const users = await db.listRecords('*');
console.log('Users:', users);
})();🌐 View on NPM
🔗 https://www.npmjs.com/package/pg-easy-orm
You can check your downloads and analytics here.
📄 License
MIT License
Made with ❤️ by Smit Agola
🛠 Contributing
Pull requests are welcome.
For major changes, please open an issue first.
