Node.jsAdvanced
Node.js Database Integration
MongoDB (Mongoose), PostgreSQL (Prisma), connection, CRUD — Node.js-এ database বাংলায়।
10টি অংশবাংলা ভাষায়
Node.js-এ বেশিরভাগ project-এ database লাগে। দুটি জনপ্রিয় database: MongoDB (NoSQL) ও PostgreSQL (SQL)।
MongoDB + Mongoose
npm install mongoosemodels/User.jsjavascript
javascript
const mongoose = require("mongoose");
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
age: { type: Number, default: 0 },
createdAt: { type: Date, default: Date.now },
});
module.exports = mongoose.model("User", userSchema);server.jsjavascript
javascript
const mongoose = require("mongoose");
// Connect
mongoose.connect("mongodb://localhost:27017/myapp")
.then(() => console.log("MongoDB connected"))
.catch(err => console.error(err));
// CRUD
const User = require("./models/User");
// Create
const user = await User.create({
name: "রহিম",
email: "rahim@example.com",
});
// Read
const users = await User.find();
const user = await User.findById(id);
// Update
await User.findByIdAndUpdate(id, { name: "নতুন নাম" });
// Delete
await User.findByIdAndDelete(id);PostgreSQL + Prisma
npm install prisma @prisma/client
npx prisma initprisma/schema.prismaprisma
prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
name String
email String @unique
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
author User @relation(fields: [authorId], references: [id])
authorId Int
}Prisma usagejavascript
javascript
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
// Create
const user = await prisma.user.create({
data: { name: "রহিম", email: "rahim@example.com" },
});
// Read with relations
const users = await prisma.user.findMany({
include: { posts: true },
});
// Update
await prisma.user.update({
where: { id: 1 },
data: { name: "নতুন নাম" },
});
// Delete
await prisma.user.delete({ where: { id: 1 } });কোনটি বেছে নেবেন?
MongoDB flexibel schema চাইলে, PostgreSQL strict relational data চাইলে। উভয়ই Node.js-এ দারুণ কাজ করে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।