آموزش ساخت برنامه با Express و MongoDB برای تازه کارها

آموزش ساخت برنامه با Express و MongoDB برای تازه کارها

اگر توسعه دهنده وب و اپ هستید و تصمیم گرفته اید شروع به یادگیری Node.js کنید، این پست برای شما آماده شده است. در پست یک راهنمای NODE.JS برای تازه کارها به خوبی Node.js را معرفی کردیم حال می توان این پست را به عنوان ادامه‌ی آن در نظر گرفت، با این تفاوت که در این پست قرار است به مطالب جالب بپردازیم و در آخر پست این توانایی را داشته باشید با این تکنولوژی جدید برنامه های مدرن بنویسید. اگر با سینتکس جاوا اسکریپت آشنا باشید نوشتن برنامه در Node را سریع درک می کنید (اگر قصد دارید به یک توسعه دهنده وب واقعی تبدیل شوید باید جاوا اسکریت را یاد بگیرید).

اگر تجربه کار با PHP و MySQL را داشته باشید، ساخت برنامه در نود.جی.اس نیز به همان اندازه قابل درک است که در PHP یا Ruby می بینید. (اگر تجربه کار با Node.js را دارید این پست برای شما نیست دوست عزیز).


ساخت CRUD با ExpressJS و MongoDB

CRUD مخفف Create . Read . Update – Delete است که همه روزه در سرتاسر برنامه ها می بینیم.

ایجاد، خواندن، بروز رسانی و حذف (به انگلیسی: Create, read, update and delete) که به اختصار CRUD نیز خوانده می‌شوند؛ چهار عملکرد اساسی مدیریت داده‌ها در برنامه‌نویسی هستند.

  • POST – ایجاد چیزی
  • GET – خواندن چیزی
  • UPDATE – برروزرسانی چیزی
  • DELETE – حذف چیزی

شاید ساخت برنامه CRUD با Express و MongoDB برای کسی که تا حالا برنامه نویسی سمت سرور نکرده است عنوانی بزرگ باشد. اجازه دهید این دو چیز را معرفی کنیم قبل از اینکه سراغ ساخت پروژه برویم.

Express فریم ورک Node.js است که برای ساخت برنامه های وب کاربرد دارد (همانند فریم ورک های لاراول یا سیمفونی که با پی.اچ.پی ساخته شده اند). همانطور که می دانیم Node این اجازه را می دهد که با JavaScript اقدام به نوشتن کدهای سمت سرور کنیم که این کار را برای توسعه دهنده ها بسیار دلنیشن کرده است.

MongoDB دیتابیس است، جایست که داده های برنامه یا وب سایت ما در آن ذخیره می شود. مانگودی‌بی به جای اینک همانند پایگاه های داده‌های رابطه‌ای کلاسیک داده‌ها را در جداول ذخیره کند، داده‌های ساختاریافته را در اسنادی با قالبی شبیه به جی‌سون (مانگودی‌بی این قالب را بی‌سون(BSON) می‌نامد) ذخیره‌سازی می کند، و بدین ترتیب یکپارچه‌سازی داده‌ها را در برخی اقسام برنامه‌های کاربردی آسان‌تر و سریع‌تر می کند.

اگر بخواهیم Express – MongoDB و CRUD را با هم دیگر در قالب یک دیاگرام رسم کنیم به شکل زیر خواهد بود:

آموزش ساخت برنامه با Node.js


چه برنامه ای خواهیم ساخت؟

ما قصد داریم برنامه ساده درست کنیم که لیستی از لینک ها را ذخیره و نمایش دهد (همانند بوکمارک کردن لینک سایت در مرورگر).

بله درست است برنامه بسیار جذابی نیست اما با این حال یاد می گیریم چطور از Express و MongoDB‌ در ساخت برنامه های خود استفاده کنیم و اینکه امکان پذیر نیست تمام چیزهای سمت سرور را در این پست مطرح کرد.

دو چیز را برای ادامه کار لازم داریم:

  1. نباید از تایپ کردن دستور در خط فرمان بترسید
  2. Node را نصب کرده باشد

با دستور زیر چک کنید که Node نصب است یا نه:

اگر Node در سیستم نصب نیست به وب سایت Node مراجعه کنید یا اینکه از طریق nvm اقدام به نصب کنید.


شروع

کار را با دستور npm init شروع می کنیم. ابتدا یک پوشه جدید با هر نامی که دوست دارید ایجاد کنید و با خط فرمان یا ترمینال خود به آدرس پوشه تازه ایجاد شده پیمایش کنید و دستور npm را اجرا کنید. هر پروژه Node دارای فایل package.json است که وابستگی های برنامه را در خود نگه می دارد تا بعدا هم بتوان با این دستور آنها را نصب کرد:

با اجرای دستور فوق سوالاتی از شما در کنسول پرسیده می شود، آنها را جواب داده یا اینکه کلید اینتر را پشت سر هم فشار دهید.

Building a Simple CRUD Application with Express and MongoDB

در پست یک راهنمای NODE.JS برای تازه کارها اولین برنامه Node خود که یک Hello World بود را اجرا کردیم، پس لازم نیست در این پست این کار را تکرار کنیم (اگر تا به حال برنامه ای را با node اجرا نکرده اید حتما پستی که به آن اشاره شد را مطالعه کنید).


Express

ما ابتدا باید Express را به برنامه خود اضافه کنیم. نصب اکسپرس بسیار ساده است تمام کاری که لازم است استفاده از پکیج منیجر NPM است و همراه با Node نصب می شود.

اگر دوست دارید بیشتر در مورد NPM بدانید به این پست مراجعه کنید.

دستور زیر را در خط فرمان اجرا کنید:

این دستور باعث می شود فریم ورک Express به عنوان یک Dependency یا همان وابستگی برنامه نصب و در فایل package.json اضافه شود.

Using Express

حال فایل جدید به نام app.js در ریشه پروژه خود ایجاد کنید Express را از طریق زیر در برنامه فراخوانی کنید:

در خط اول ماژول اکسپرس که نصب کرده بودیم را فراخوانی کرده ایم و در خط دوم یک شی جدید اکسپرس را در متغیر app ایجاد کرده ایم تا از تمام امکانات Express استفاده کنیم.

در مرحله بعد قصد داریم سروری را ایجاد کنیم تا مرورگر بتواتد به آن متصل شود. این کار را با یکی از متدهای اکسپرس که listen است انجام می دهیم:

حال قبل از اینکه سرور را با دستور node app.js اجرا کنیم، کد زیر را بعد از خط دوم به برنامه اضافه کنید تا پیامی را در مرورگر مشاهده کنیم تا مطمئن شویم تا اینجا مراحل را به درستی انجام داده ایم:

همانطور که مشاهده می کنید، ما مسیر / را در برنامه تعریف کردیم تا وقتی به به آدرس localhost:3000 مراجعه می کنیم پیام Hello, World چاپ شود.

آموزش node.js

 

درباره تعریف route در برنامه به مستندات ExpressJS مراجعه کنید.

اگر با اجرا سرور و مراجعه به آدرس localhost:3000 خروجی فوق را مشاهده کردید، یعنی با موفقیت به  سرور اکسپرس متصل شده ایم.

در پارت بعدی مراحل بعدی را پوشش می دهیم!

خلاصه

در این سری از آموزش Node.js یاد خواهیم گرفت که چطور:

  • سرور Express درست کنیم
  • عملیات Create و READ انجام دهیم
  • چطور داده در MongoDB ذخیره کنیم
  • چطور از Template Engine استفاده کنیم

  • ممگ

    سلام
    ی سوال داشتم..
    شما اوبونتو رو روی لپ تاپ نصب کردی؟؟ اگه اینطوره میشه لطفا بگی مدل لپ تاپ ت چیه و از چ سخت افزاری استفاده می کنی؟؟

    خیلی ممنون میشم جواب بدید.. من چند باری اوبونتو رو نصب کردم، با کرش های متوالی سیستم مواجه شدم اما از رو نرفتم و دوباره نصب کردم و چون دیدم کار های خودم داره عقب میفته برا همین تصمیم گرفتم برگردم ویندوز تا مشکل رو حل کنم.

    راستی، شرمنده ک مشخصاتم یجورایی اسپم گونه است 🙂
    خوشحال میشم راهنمایی بفرمایید.

    • پاتریک درآواکیانس

      سلام ببخشید از تاخیر 😉
      من از پی‌سی استفاده می کنم با سخت افزار معمولی.
      من فکر می کنم به این خاطر که اوبونتو با ماشین مجازی ران کردید به این مشکل بر می خورید. اگر دوست دارید از ویندوز هم استفاده کنید پیشنهاد می کنم اوبونتو را به صورت Duel Boot نصب کنید تا از هر دو سیستم عامل استفاده کنید. من خودم رو سیستم فقط ابوبونتو دارم!
      ابونتو با یک سخت افزار متوسط نیز ران میشه و مشکلی از این بابت نخواهید داشت. پیشنهاد می کنم عملیات نصب را تو گوگل سرچ کنید تا مراحل نصب را درست انجام دهید.
      (بابت تاخیر نیز ببخشید. به خاطر تعداد نظرات امکان پاسخ تک تک آنها به موقع وجود ندارد و سعی می کنم بتونم به همه کامنت ها پاسخ دهیم). اگر سوال داشتید بپرسید 😉