ادغام MongoDB با Node.js – یک راهنمای کامل

Summarize this content to 400 words in Persian Lang
MongoDB یکی از محبوب ترین پایگاه داده های NoSQL است که به طور گسترده توسط توسعه دهندگان برای ایجاد برنامه های کاربردی مقیاس پذیر و انعطاف پذیر استفاده می شود. همراه با Node.js، که یک پلتفرم بهطور گسترده برای توسعه باطن است، میتوانید APIهای کارآمد و برنامههای کاربردی قوی بسازید. در این پست وبلاگ، نحوه پیکربندی MongoDB با Node.js، از نصب تا انجام عملیات های اولیه CRUD (ایجاد، خواندن، به روز رسانی، حذف) را بررسی خواهیم کرد.
1. MongoDB چیست؟
MongoDB یک پایگاه داده NoSQL سند گرا است. MongoDB به جای ذخیره داده ها در جداول، مانند پایگاه داده های رابطه ای، اسناد را با فرمت JSON ذخیره می کند که به آن BSON (Binary JSON) می گویند. این انعطاف پذیری در مدل سازی داده ها را فراهم می کند و مقیاس پذیری افقی را تسهیل می کند.
2. چرا از MongoDB با Node.js استفاده کنیم؟
JSON بومی: Node.js از جاوا اسکریپت استفاده می کند و MongoDB داده ها را در قالب JSON ذخیره می کند. این ترکیب منجر به یکپارچگی روان و کارآمد می شود.
مقیاس پذیری: MongoDB بسیار مقیاس پذیر و ایده آل برای برنامه های مدرن است که نیاز به رشد سریع دارند.
عملکرد: با ساختار سند خود، MongoDB برای خواندن سریع، نوشتن و پرس و جوهای پویا بهینه شده است.
جامعه: هر دو MongoDB و Node.js دارای یک انجمن فعال هستند که از ویژگیهای فراوان و بهروزرسانیهای مکرر اطمینان میدهند.
3. پیکربندی MongoDB با Node.js
مرحله 1: MongoDB را نصب کنید
اول از همه، شما باید MongoDB را نصب کنید. بسته به سیستم عامل خود، دستورالعمل های موجود در وب سایت رسمی نصب MongoDB را دنبال کنید.
مرحله 2: یک پروژه Node.js ایجاد کنید
یک دایرکتوری جدید برای پروژه خود ایجاد کنید و یک پروژه Node.js را شروع کنید:
mkdir mongo-node-app
cd mongo-node-app
npm init -y
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 3: درایور MongoDB را نصب کنید
مرحله بعدی نصب درایور رسمی MongoDB برای Node.js است:
npm install mongodb
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 4: به MongoDB متصل شوید
حالا یک فایل بسازید index.js برای پیکربندی اتصال به MongoDB. ما از MongoClient برای اتصال به پایگاه داده استفاده خواهیم کرد.
const { MongoClient } = require(‘mongodb’);
async function connectDB() {
const uri = “mongodb://localhost:27017”; // URL do MongoDB local
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log(“Conectado ao MongoDB”);
const db = client.db(“mydatabase”);
return db;
} catch (err) {
console.error(“Erro ao conectar ao MongoDB”, err);
} finally {
// Fechar a conexão
await client.close();
}
}
connectDB();
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
4. عملیات CRUD با MongoDB
1. ایجاد کنید
برای افزودن اسناد به مجموعه می توانیم از روش استفاده کنیم insertOne() یا insertMany().
async function createDocument(db) {
const collection = db.collection(“users”);
const newUser = {
name: “Lucas”,
age: 25,
email: “lucas@example.com”
};
const result = await collection.insertOne(newUser);
console.log(`Documento inserido com o ID: ${result.insertedId}`);
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
2. بخوانید (لر)
برای جستجوی اسناد در یک مجموعه، از find() یا findOne().
async function readDocuments(db) {
const collection = db.collection(“users”);
const users = await collection.find({ age: { $gte: 18 } }).toArray();
console.log(users);
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
3. به روز رسانی
برای به روز رسانی یک سند، استفاده می کنیم updateOne() یا updateMany().
async function updateDocument(db) {
const collection = db.collection(“users”);
const result = await collection.updateOne(
{ name: “Lucas” },
{ $set: { email: “lucas.new@example.com” } }
);
console.log(`Documentos atualizados: ${result.modifiedCount}`);
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
4. حذف کنید
برای حذف اسناد، ما استفاده می کنیم deleteOne() یا deleteMany().
async function deleteDocument(db) {
const collection = db.collection(“users”);
const result = await collection.deleteOne({ name: “Lucas” });
console.log(`Documentos deletados: ${result.deletedCount}`);
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
5. بهبود ساختار پروژه
برای یک پروژه در مقیاس بزرگ، بهتر است اتصال MongoDB و عملیات CRUD را مدولار کنید. به عنوان مثال، ما می توانیم یک ماژول اتصال جداگانه و خدمات اختصاصی برای هر موجودیت داشته باشیم.
مثال اتصال مدولار
// db.js
const { MongoClient } = require(‘mongodb’);
const uri = “mongodb://localhost:27017”;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
async function connectDB() {
await client.connect();
const db = client.db(“mydatabase”);
return db;
}
module.exports = { connectDB };
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
با استفاده از ماژول اتصال
// index.js
const { connectDB } = require(‘./db’);
async function main() {
const db = await connectDB();
// Executar operações de CRUD
await createDocument(db);
await readDocuments(db);
await updateDocument(db);
await deleteDocument(db);
}
main();
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
6. نتیجه گیری
MongoDB و Node.js ترکیبی قدرتمند برای ساخت APIهای مقیاس پذیر و برنامه های کاربردی وب مدرن را تشکیل می دهند. با انعطافپذیری MongoDB و محیط جاوا اسکریپت Node.js، میتوانید دادهها را سریع و کارآمد دستکاری کنید. این راهنما یک پایه محکم برای ادغام MongoDB در پروژه Node.js شما از پیکربندی اولیه تا عملیات CRUD فراهم می کند.
اگر میخواهید عمیقتر به موضوع بپردازید، ویژگیهای بیشتری مانند نمایهسازی، تجمیعها و تکرار در MongoDB را در نظر بگیرید.
نکات نهایی:
مانگوس: اگرچه درایور رسمی کارآمد است، کتابخانههایی مانند Mongoose انتزاع دوستانهتری را با طرحوارهها و اعتبارسنجی ارائه میدهند.
مقیاس پذیری: پارتیشن بندی و تکثیر را در تولید در نظر بگیرید تا برنامه خود را با MongoDB مقیاس کنید.
امیدوارم این راهنما برای ادغام MongoDB با Node.js مفید بوده باشد!
MongoDB یکی از محبوب ترین پایگاه داده های NoSQL است که به طور گسترده توسط توسعه دهندگان برای ایجاد برنامه های کاربردی مقیاس پذیر و انعطاف پذیر استفاده می شود. همراه با Node.js، که یک پلتفرم بهطور گسترده برای توسعه باطن است، میتوانید APIهای کارآمد و برنامههای کاربردی قوی بسازید. در این پست وبلاگ، نحوه پیکربندی MongoDB با Node.js، از نصب تا انجام عملیات های اولیه CRUD (ایجاد، خواندن، به روز رسانی، حذف) را بررسی خواهیم کرد.
1. MongoDB چیست؟
MongoDB یک پایگاه داده NoSQL سند گرا است. MongoDB به جای ذخیره داده ها در جداول، مانند پایگاه داده های رابطه ای، اسناد را با فرمت JSON ذخیره می کند که به آن BSON (Binary JSON) می گویند. این انعطاف پذیری در مدل سازی داده ها را فراهم می کند و مقیاس پذیری افقی را تسهیل می کند.
2. چرا از MongoDB با Node.js استفاده کنیم؟
- JSON بومی: Node.js از جاوا اسکریپت استفاده می کند و MongoDB داده ها را در قالب JSON ذخیره می کند. این ترکیب منجر به یکپارچگی روان و کارآمد می شود.
- مقیاس پذیری: MongoDB بسیار مقیاس پذیر و ایده آل برای برنامه های مدرن است که نیاز به رشد سریع دارند.
- عملکرد: با ساختار سند خود، MongoDB برای خواندن سریع، نوشتن و پرس و جوهای پویا بهینه شده است.
- جامعه: هر دو MongoDB و Node.js دارای یک انجمن فعال هستند که از ویژگیهای فراوان و بهروزرسانیهای مکرر اطمینان میدهند.
3. پیکربندی MongoDB با Node.js
مرحله 1: MongoDB را نصب کنید
اول از همه، شما باید MongoDB را نصب کنید. بسته به سیستم عامل خود، دستورالعمل های موجود در وب سایت رسمی نصب MongoDB را دنبال کنید.
مرحله 2: یک پروژه Node.js ایجاد کنید
یک دایرکتوری جدید برای پروژه خود ایجاد کنید و یک پروژه Node.js را شروع کنید:
mkdir mongo-node-app
cd mongo-node-app
npm init -y
مرحله 3: درایور MongoDB را نصب کنید
مرحله بعدی نصب درایور رسمی MongoDB برای Node.js است:
npm install mongodb
مرحله 4: به MongoDB متصل شوید
حالا یک فایل بسازید index.js
برای پیکربندی اتصال به MongoDB. ما از MongoClient برای اتصال به پایگاه داده استفاده خواهیم کرد.
const { MongoClient } = require('mongodb');
async function connectDB() {
const uri = "mongodb://localhost:27017"; // URL do MongoDB local
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log("Conectado ao MongoDB");
const db = client.db("mydatabase");
return db;
} catch (err) {
console.error("Erro ao conectar ao MongoDB", err);
} finally {
// Fechar a conexão
await client.close();
}
}
connectDB();
4. عملیات CRUD با MongoDB
1. ایجاد کنید
برای افزودن اسناد به مجموعه می توانیم از روش استفاده کنیم insertOne()
یا insertMany()
.
async function createDocument(db) {
const collection = db.collection("users");
const newUser = {
name: "Lucas",
age: 25,
email: "lucas@example.com"
};
const result = await collection.insertOne(newUser);
console.log(`Documento inserido com o ID: ${result.insertedId}`);
}
2. بخوانید (لر)
برای جستجوی اسناد در یک مجموعه، از find()
یا findOne()
.
async function readDocuments(db) {
const collection = db.collection("users");
const users = await collection.find({ age: { $gte: 18 } }).toArray();
console.log(users);
}
3. به روز رسانی
برای به روز رسانی یک سند، استفاده می کنیم updateOne()
یا updateMany()
.
async function updateDocument(db) {
const collection = db.collection("users");
const result = await collection.updateOne(
{ name: "Lucas" },
{ $set: { email: "lucas.new@example.com" } }
);
console.log(`Documentos atualizados: ${result.modifiedCount}`);
}
4. حذف کنید
برای حذف اسناد، ما استفاده می کنیم deleteOne()
یا deleteMany()
.
async function deleteDocument(db) {
const collection = db.collection("users");
const result = await collection.deleteOne({ name: "Lucas" });
console.log(`Documentos deletados: ${result.deletedCount}`);
}
5. بهبود ساختار پروژه
برای یک پروژه در مقیاس بزرگ، بهتر است اتصال MongoDB و عملیات CRUD را مدولار کنید. به عنوان مثال، ما می توانیم یک ماژول اتصال جداگانه و خدمات اختصاصی برای هر موجودیت داشته باشیم.
مثال اتصال مدولار
// db.js
const { MongoClient } = require('mongodb');
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
async function connectDB() {
await client.connect();
const db = client.db("mydatabase");
return db;
}
module.exports = { connectDB };
با استفاده از ماژول اتصال
// index.js
const { connectDB } = require('./db');
async function main() {
const db = await connectDB();
// Executar operações de CRUD
await createDocument(db);
await readDocuments(db);
await updateDocument(db);
await deleteDocument(db);
}
main();
6. نتیجه گیری
MongoDB و Node.js ترکیبی قدرتمند برای ساخت APIهای مقیاس پذیر و برنامه های کاربردی وب مدرن را تشکیل می دهند. با انعطافپذیری MongoDB و محیط جاوا اسکریپت Node.js، میتوانید دادهها را سریع و کارآمد دستکاری کنید. این راهنما یک پایه محکم برای ادغام MongoDB در پروژه Node.js شما از پیکربندی اولیه تا عملیات CRUD فراهم می کند.
اگر میخواهید عمیقتر به موضوع بپردازید، ویژگیهای بیشتری مانند نمایهسازی، تجمیعها و تکرار در MongoDB را در نظر بگیرید.
نکات نهایی:
- مانگوس: اگرچه درایور رسمی کارآمد است، کتابخانههایی مانند Mongoose انتزاع دوستانهتری را با طرحوارهها و اعتبارسنجی ارائه میدهند.
- مقیاس پذیری: پارتیشن بندی و تکثیر را در تولید در نظر بگیرید تا برنامه خود را با MongoDB مقیاس کنید.
امیدوارم این راهنما برای ادغام MongoDB با Node.js مفید بوده باشد!