đ Build a CRUD App with Mongoose and Express.js (āĻŦāĻžāĻāĻ˛āĻž)
Rest API structure using Mongoose and Express.js
đ¤ Mongoose āĻāĻŋ āĻāĻŦāĻ āĻā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšā§?
Mongoose āĻāĻ¸āĻžāĻ° āĻāĻā§ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ MongoDB Drive āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻ¤ MongoDB āĻĄāĻžāĻāĻžāĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻāĻžāĻ§āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšā§ āĻāĻŽāĻ¨ āĻā§āĻĄ, āĻ¸ā§āĻāĻŋāĻŽāĻž āĻŦāĻžāĻ¨āĻžāĻ¨ā§, āĻā§āĻ˛āĻŋāĻĄā§āĻļāĻ¨ āĻāĻ°āĻž, āĻā§ā§ā§āĻ°āĻŋ āĻ˛ā§āĻāĻž āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻžāĻ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§āĻ˛āĻ āĻāĻ āĻŋāĻ¨ āĻāĻŋāĻ˛ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ MongoDB Drive āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĨ¤
Mongoose āĻļā§āĻ§ā§ āĻŽāĻžāĻ¤ā§āĻ° MongoDB Database āĻāĻ° āĻāĻ¨ā§āĻ¯āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻāĻāĻŋ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°ā§ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ MongoDB Database āĻāĻ° āĻāĻāĻŋāĻ˛ āĻ¯ā§ āĻāĻžāĻ āĻā§āĻ˛ā§ āĻāĻā§ MongoDB Drive āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§ā§āĻžāĻ˛āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¤ āĻ¸ā§āĻā§āĻ˛ā§ Mongoose āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻšāĻā§ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤ HTML, CSS āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§āĻŽāĻ¨ āĻāĻā§ Bootstrap āĻ¤ā§āĻŽāĻ¨āĻŋ MongoDB āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§ Mongoose! đđģ
đ Introduction
āĻāĻ āĻ˛ā§āĻāĻžā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻ¨āĻŦā§ āĻāĻŋāĻāĻžāĻŦā§ Express.js āĻāĻŦāĻ Mongoose āĻĻāĻŋā§ā§ āĻāĻāĻāĻŋ CRUD (Create, Read, Update, Delete) āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦāĻžāĻ¨āĻžāĻ¤ā§ āĻšā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻ˛ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ Mongoose v7.2.2 āĻāĻŦāĻ Express v4.18.2. āĻĒā§āĻ°āĻā§āĻā§āĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ Node.js āĻāĻ¨ā§āĻ¸āĻāĻ˛ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
Mongoose āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ Schema(āĻ¸ā§āĻāĻŋāĻŽāĻž) āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĨ¤ āĻ¸ā§āĻāĻŋāĻŽāĻž āĻšāĻā§āĻā§ Collection āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§ Documents āĻā§āĻ˛ā§ āĻĨāĻžāĻāĻŦā§ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻā§āĻ¤āĻŋāĨ¤ Schema āĻāĻāĻāĻŋ Mongoose āĻāĻ° āĻŽā§āĻĨāĻĄ āĻ¯āĻžāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ Object āĻ˛ā§āĻāĻž āĻ¯āĻžā§āĨ¤ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻ§āĻ°ā§āĻŽāĻ āĻšāĻā§āĻā§ āĻāĻāĻžāĻ¨ā§ đĢ Key-Value Pairs āĻāĻāĻžāĻ°ā§ āĻāĻ¨āĻĢāĻ°āĻŽā§āĻļāĻ¨ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻŽā§āĻ˛āĻ¤ āĻāĻ Schema āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ°āĻāĻŽ āĻā§āĻ˛āĻŋāĻĄā§āĻļāĻ¨, āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻā§āĻ¯āĻžāĻ˛ā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ°āĻāĻŽ āĻ˛āĻāĻŋāĻ āĻ¸āĻš āĻāĻ°āĻ āĻ āĻ¸āĻāĻā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ˛ā§āĻāĻž āĻ¯āĻžā§āĨ¤ āĻā§āĻ¨ āĻāĻžāĻ°āĻ¨ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻžāĻ° āĻĢā§āĻ°āĻ¨ā§āĻāĻāĻ¨ā§āĻĄ āĻĨā§āĻā§ āĻŦāĻžāĻāĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻā§āĻ˛ āĻĄāĻžāĻāĻž āĻ¸āĻžāĻŦāĻŽāĻŋāĻ āĻāĻ°ā§āĻ āĻĢā§āĻ˛ā§ āĻ¤āĻāĻ¨ āĻāĻ āĻ¸ā§āĻāĻŋāĻŽāĻž āĻ¤ā§ āĻāĻ¸ā§ āĻāĻāĻāĻžāĻ° āĻāĻāĻā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ mongoose āĻā§āĻ˛āĻŋāĻĄā§āĻļāĻ¨ āĻāĻ°āĻ° āĻĻā§āĻāĻžāĻŦā§āĨ¤
āĻ¸āĻŦāĻļā§āĻˇā§ āĻāĻ āĻ¸ā§āĻāĻŋāĻŽāĻžāĻ° āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ model(āĻŽāĻĄā§āĻ˛) āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻ āĻŽāĻĄā§āĻ˛ āĻšāĻā§āĻā§ mongoose āĻāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ˛āĻžāĻŽ Blog, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻāĻ āĻŽāĻĄā§āĻ˛āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ°āĻāĻŽ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻŽāĻ¨ Create, Read, Update, Delete āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤
āĻāĻā§āĻ° āĻŦā§āĻ˛āĻ āĻ¸ā§āĻāĻŋāĻŽāĻžāĻ° āĻāĻāĻāĻž â¨āĻāĻĒāĻĄā§āĻā§āĻĄ āĻāĻžāĻ°ā§āĻ¸āĻ¨ āĻšāĻā§āĻā§ āĻ¨āĻŋāĻā§āĻ° āĻāĻ āĻā§āĻĄāĻāĻŋāĨ¤ āĻāĻāĻž āĻļā§āĻ§ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻāĻ°āĻāĻŽ āĻ āĻ¸āĻāĻā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻĄ mongoose āĻāĻ° āĻā§āĻ¤āĻ° built-in āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧāĻž āĻāĻā§āĨ¤ āĻ¯āĻāĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻā§āĻā§ āĻāĻ°āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤
đ Connecting to the MongoDB Database
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° app āĻā§ MongoDB āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ Mongoose āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ¨ā§āĻā§āĻ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻāĻž āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¨ā§āĻ đ index.js āĻ¨āĻžāĻŽā§āĨ¤
MongoDB āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ ā§āĻ¯āĻžāĻĒāĻā§ āĻāĻžāĻ¨ā§āĻā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ mongoose.connect() āĻŽā§āĻĨāĻĄ āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§āĻ āĻšāĻŦā§āĨ¤
āĻāĻ connect āĻŽā§āĻĨāĻĄā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ° ā§§āĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻŋ āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ URI. āĻāĻ URI āĻāĻŋ āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ String, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻ¨ āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ āĻ ā§āĻ¯āĻžāĻĒāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§ āĻ¤āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĨāĻžāĻā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻā§āĻ˛ā§ āĻ āĻĒāĻļāĻ¨āĻžāĻ˛, āĻ āĻ°ā§āĻĨāĻžā§ āĻ¨āĻž āĻ˛āĻŋāĻāĻ˛ā§āĻ āĻāĻŽāĻžāĻ° āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§āĨ¤ āĻ¤āĻŦā§ āĻāĻā§āĻ˛ā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšā§ āĻāĻžāĻ°āĻ¨ URL āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ°āĻāĻŽ āĻĄāĻžāĻāĻž āĻāĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻšā§, āĻāĻ° āĻāĻ āĻĄāĻžāĻāĻž āĻāĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻāĻžāĻ āĻā§āĻ˛ā§ āĻ¸āĻ āĻŋāĻ āĻāĻžāĻŦā§ āĻ¸āĻāĻāĻāĻŋāĻ¤ āĻšāĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ˛ā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšā§āĨ¤ āĻāĻ° āĻāĻ¨āĻ¸ā§āĻ˛ āĻā§āĻ˛ā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻāĻāĻāĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ° āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŽāĻŋ āĻ¯ā§āĻ¨ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŽāĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻāĻŦāĻžāĻ° āĻ¯āĻĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋ āĻāĻ°āĻ° āĻšāĻ˛ āĻ¸ā§āĻāĻž āĻāĻŽāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
đ¨ Implementing CRUD Operations
āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ Express.js, Mongoose āĻāĻŦāĻ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻ¨āĻ¸ā§āĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ CRUD āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤ CRUD āĻšāĻā§āĻā§ Create, Read, Update, Delete āĻāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ°ā§āĻĒāĨ¤
āĻāĻāĻžāĻ¨ā§ āĻŽā§āĻ˛āĻ¤ API āĻā§āĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ API āĻāĻ° endpoint āĻšāĻŋāĻ āĻāĻ°āĻ˛ā§ āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ āĻ¤āĻžāĻ° āĻ˛āĻāĻŋāĻ āĻ˛ā§āĻāĻž āĻšāĻā§āĻā§āĨ¤
Express āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŽāĻ°āĻž āĻ¯ā§āĻ app āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄ āĻāĻ get. āĻāĻ āĻā§āĻ āĻŽā§āĻĨāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ HTTP Get Request āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻāĻāĻžāĻ° āĻšā§āĻ¨ā§āĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻ¨āĻžāĻā§āĻāĻŋāĨ¤ āĻ āĻ°ā§āĻĨāĻžā§ API āĻāĻ° /blogs Endpoint āĻ āĻšāĻŋāĻ āĻāĻ°āĻ˛ā§ āĻā§āĻ¨ āĻāĻžāĻāĻāĻž āĻšāĻŦā§āĨ¤
HTTP āĻ¤ā§ āĻ āĻ¨ā§āĻ āĻā§āĻ˛ā§ āĻŽā§āĻĨāĻĄ āĻāĻā§āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻšā§āĻ˛ āĻŦā§āĻŦāĻšāĻžāĻ°āĻŋāĻ¤ āĻĒāĻžāĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄ āĻšāĻā§āĻā§ GET, POST, PUT, UPDATE āĻāĻŦāĻ DELETE. āĻāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽā§āĻĨāĻĄāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ ā§Š āĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨āĻŋā§ā§ āĻĨāĻžāĻā§āĨ¤ āĻĒāĻžāĻĨ, āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻŦāĻž āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻĨ āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ API Endpoints, āĻ āĻ°ā§āĻĨāĻžā§ āĻā§āĻ¨ āĻāĻāĻāĻžāĻ° āĻāĻā§āĻ¤ Endpoints āĻ āĻšāĻŋāĻ āĻāĻ°āĻ˛ā§ āĻāĻŋ āĻāĻžāĻ āĻšāĻŦā§ āĻ¤āĻž āĻ˛ā§āĻāĻž āĻĨāĻžāĻā§ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§āĨ¤ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻā§āĻ˛ā§ āĻŽā§āĻ˛āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻ˛āĻžāĻĻāĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ āĻ˛ā§āĻāĻž āĻšā§ āĻāĻŦāĻ āĻāĻā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻ˛ā§ export āĻāĻ°ā§ āĻĻā§āĻā§āĻž āĻšā§, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ API Route āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻ§ā§ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻŽāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§āĨ¤ āĻāĻ° āĻĢāĻ˛ā§ āĻā§āĻĄ āĻĒā§āĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻ āĻā§āĻĄ āĻĒā§āĻ¨āĻāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšā§āĨ¤
ā§§. āĻĒāĻžāĻĨ: āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻšāĻ˛ā§ āĻĒāĻžāĻĨ āĻŦāĻž URI āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻā§ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻĨ āĻšāĻ˛ā§ "/blogs"
, āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯ā§ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻāĻŋ /blogs
āĻāĻ¨ā§āĻĄāĻĒā§ā§āĻ¨ā§āĻā§ āĻāĻāĻāĻŋ HTTP GET āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
ā§¨. āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°: āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻ
āĻĒāĻļāĻ¨āĻžāĻ˛āĨ¤ āĻāĻāĻŋ āĻĒāĻžāĻĨ āĻāĻ° āĻĒāĻ°ā§ āĻāĻŦāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§āĻ° āĻāĻā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§āĻ° āĻāĻā§ āĻā§āĻ¨ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŋāĻ¨āĻž āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§āĨ¤ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻĄā§āĻļāĻ¨, āĻ
āĻĨā§āĻ¨āĻāĻŋāĻā§āĻļāĻ¨, āĻĄā§āĻāĻž āĻĒā§āĻ°āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻ¸āĻš āĻāĻ°āĻ āĻ
āĻ¨ā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻž āĻ°āĻžāĻāĻā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ°ā§āĻ° āĻĻā§āĻā§āĻž āĻā§āĻĄā§ āĻā§āĻ¨āĻ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¨āĻž, āĻ¤āĻžāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° (getBlogs
) āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
ā§Š. āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°/āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°: āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻšāĻ˛ā§ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ HTTP GET āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻā§ āĻšāĻŋāĻ āĻāĻ°āĻ˛ā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻž āĻāĻ˛āĻŦā§āĻ¯āĻžāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻā§āĻĄā§, getBlogs
āĻšāĻ˛ā§ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž /blogs
āĻāĻ¨ā§āĻĄāĻĒā§ā§āĻ¨ā§āĻā§ āĻāĻāĻāĻŋ HTTP GET āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻ āĻ°āĻžāĻāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻ¨āĻžāĻŽ āĻšāĻā§āĻā§ Controller.
đ Read Operation
āĻāĻā§āĻ° āĻā§āĻĄ āĻāĻžāĻ āĻāĻ°ā§āĻāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĻāĻžāĻŦā§ āĻ˛ā§āĻāĻž āĻšāĻ˛ā§, Endpoint āĻ āĻšāĻŋāĻ āĻāĻ°āĻ˛ā§ āĻ¯ā§āĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻž āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻ¤ā§ āĻ¤āĻž āĻāĻāĻāĻž āĻā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°ā§āĻā§ āĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻ˛ āĻāĻ°ā§ āĻĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻā§āĻ¨ āĻŽāĻŋāĻĄāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤āĻžāĻŽ āĻ¤āĻžāĻšāĻ˛ā§āĻ āĻāĻ āĻā§āĻĄāĻāĻž āĻā§āĻŽāĻ¨ āĻšāĻ¤ā§ āĻ¤āĻžāĻ° āĻāĻāĻāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ˛āĨ¤ āĻāĻ°āĻĒāĻ°ā§āĻ° āĻ˛ā§āĻāĻž āĻā§āĻ˛ā§āĻ¤ā§ āĻŽā§āĻĨāĻĄā§āĻ° āĻāĻŋāĻ¤āĻ°ā§āĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ°āĻžāĻāĻž āĻšāĻŦā§, āĻāĻĒāĻ¨āĻžāĻĻā§āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ°ā§āĻĨā§ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ˛ā§āĨ¤
āĻāĻŦāĻžāĻ° āĻāĻŽāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ Mongoose āĻāĻŋāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛āĻžāĻŽāĨ¤
āĻāĻāĻžāĻ¨ā§ async-await āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻžāĻ°āĻ¨ āĻāĻŽāĻŋ āĻāĻžāĻā§āĻāĻŋ āĻāĻŽāĻžāĻ° āĻā§āĻĄ āĻā§āĻ˛ā§ āĻ¯ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻŦāĻžāĻ āĻ˛āĻžāĻāĻ¨ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻ¯āĻŧ āĻ āĻ°ā§āĻĨāĻžā§ āĻ ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻžāĻ¨ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻŋ āĻāĻžāĻ āĻāĻ°āĻāĻŋ āĻ¤āĻžāĻ āĻāĻāĻāĻž āĻāĻžāĻ āĻšāĻ¤ā§ āĻāĻŋāĻā§āĻā§āĻˇāĻŖ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, async-await āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻ˛ā§ āĻāĻ°āĻāĻŽ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŦāĻŋāĻšā§āĻāĻŋāĻ¯āĻŧāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻ˛ā§ āĻ¯ā§āĻ¤, āĻĢāĻ˛ā§ āĻāĻŽāĻžāĻ° āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻ°āĻžāĻļ āĻāĻ°āĻ¤āĨ¤ āĻāĻ āĻāĻāĻ āĻāĻžāĻ Promise āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻāĻ¨ .then() .then() āĻāĻāĻžāĻŦā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻ¤āĨ¤ āĻ¤āĻŦā§ async/await āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻŽāĻĄāĻžāĻ°ā§āĻ¨ āĻāĻžāĻ°ā§āĻ¸āĻ¨, āĻāĻŦāĻ async/await āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§ āĻā§āĻĄ āĻāĻ°ā§ āĻŦā§āĻļāĻŋ āĻā§āĻ˛āĻŋāĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻŽāĻŋāĻ¸ āĻšāĻā§āĻā§ ES6 āĻāĻžāĻ°ā§āĻ¸āĻ¨ā§āĻ° āĻāĻāĻāĻž āĻĢāĻŋāĻāĻžāĻ° āĻāĻ° async/await āĻšāĻā§āĻā§ ES8 āĻāĻžāĻ°ā§āĻ¸āĻ¨ā§āĻ° āĻĢāĻŋāĻāĻžāĻ°āĨ¤ āĻĻā§āĻāĻāĻžāĻ Asynchronous āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
async/await āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§ try-catch āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ āĻā§āĻ¨āĻ°āĻāĻŽ āĻāĻ°āĻ° āĻšāĻ¯āĻŧ āĻ¸ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ°āĻ°āĻāĻž catch āĻŦā§āĻ˛āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻāĻ° āĻĢāĻ˛ā§ āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻ°āĻžāĻļ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤ Error handling āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ try-catch āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻŦā§āĻ¸ā§āĻ āĻĒā§āĻ°āĻžāĻāĻāĻŋāĻ¸āĨ¤
āĻāĻ āĻā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ Mongoose āĻāĻ° āĻ āĻāĻļāĻā§āĻā§ āĻšāĻā§āĻā§ Blog.find(); āĻāĻāĻĻāĻŽ Introduction āĻ¸ā§āĻāĻļāĻ¨ā§ Blog āĻ¨āĻžāĻŽā§ Mongoose āĻāĻāĻāĻž āĻŽāĻĄā§āĻ˛ āĻāĻŽāĻ°āĻž āĻāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ°ā§āĻā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ find() āĻŽā§āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻžāĻ˛ā§āĻāĻļāĻ¨ āĻĨā§āĻā§ āĻ¸āĻŦ āĻĄāĻžāĻāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻ˛āĻžāĻŽāĨ¤ āĻĄāĻžāĻāĻž āĻā§āĻāĻāĻž, āĻĄāĻŋāĻ˛āĻŋāĻ āĻāĻ°āĻž, āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻāĻ°āĻāĻŽ āĻ āĻ¸āĻāĻā§āĻ¯ āĻŽā§āĻĨāĻĄ Mongoose āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ Built-in āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ°āĻā§ āĻļā§āĻ§ā§ āĻāĻ āĻŽā§āĻĨāĻĄāĻā§āĻ˛ā§ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻŦāĻļā§āĻˇā§ response āĻāĻ° āĻāĻŋāĻ¤āĻ° āĻ¯ā§ āĻĄāĻžāĻāĻž āĻāĻž āĻĒā§āĻ˛āĻžāĻŽ āĻ¸ā§āĻāĻž āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻāĻ°āĻ° āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻž āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻā§āĻ°āĻžāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻā§āĻĄāĻāĻž āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻžāĻ°āĻŖ āĻā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¨āĻŋāĻā§ āĻĨā§āĻā§āĻ āĻāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°ā§āĨ¤ āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
Mongoose āĻāĻ° āĻāĻ°āĻāĻŽ āĻāĻ°āĻ Method āĻāĻā§āĨ¤ CRUD āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻ˛ā§āĻ¤ā§ āĻāĻāĻžāĻ¨ āĻĨā§āĻā§ āĻā§ā§āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻ˛ā§āĻāĻž āĻāĻā§ Model.find() āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻĄā§āĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŋāĻ˛ Blog āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Blog.find().
⨠Create Operation
āĻāĻāĻžāĻ¨ā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ Document Create āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻŦāĻ°āĻžāĻŦāĻ°ā§āĻ° āĻŽāĻ¤ā§āĻ āĻāĻāĻžāĻ¨ā§ Express.js, JavaScript āĻāĻŦāĻ Mongoose āĻāĻ āĻ¤āĻŋāĻ¨āĻāĻŋāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§ā§āĻ API āĻŦāĻžāĻ¨āĻžāĻ¨ā§ āĻšā§āĨ¤ async-await āĻāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻŽāĻŋ āĻāĻĒāĻ°ā§ Read āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦāĻ˛ā§āĻāĻŋāĨ¤ āĻĄāĻžāĻāĻž Read āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ° āĻŦāĻžāĻ° HTTP GET Method āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻĄāĻžāĻāĻž Create āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋ HTTP POST Method.
āĻāĻāĻžāĻ¨ā§ req, res āĻšāĻā§āĻā§ Express.js āĻāĻ° āĻā§āĻĄāĨ¤
res.body āĻĨā§āĻā§ āĻāĻŽāĻ°āĻž Data Destructuring āĻāĻ°āĻāĻŋ āĻ¯āĻž JavaScript āĻāĻ° āĻā§āĻĄāĨ¤
Blog.create() āĻšāĻā§āĻā§ Mongoose āĻāĻ° āĻā§āĻĄāĨ¤
āĻāĻāĻžāĻ¨ā§ Blog āĻšāĻā§āĻā§ āĻāĻŽāĻžāĻ° āĻāĻā§āĻ āĻŦāĻžāĻ¨āĻžāĻ¨ā§ Mongoose āĻāĻ° Model āĻ¯āĻž āĻāĻŽāĻŋ Mongoose āĻāĻ° Schema āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻžāĻ¨āĻŋā§ā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻ° create āĻšāĻā§āĻā§ Model āĻāĻ° āĻāĻāĻāĻŋ Method. āĻāĻ°āĻāĻŽ āĻ āĻ¨ā§āĻ Method mongoose āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ built-in āĻāĻāĻžāĻ°ā§ āĻĻā§āĻā§āĻž āĻāĻā§āĨ¤ āĻĄāĻžāĻāĻž Update āĻāĻŦāĻ Delete āĻāĻ° āĻ¸āĻŽā§āĻ āĻāĻ°āĻ āĻāĻŋāĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŦā§āĨ¤
đ Update Operation
āĻĄāĻžāĻāĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ PUT āĻāĻŦāĻ PATCH āĻĻā§āĻāĻāĻŋ HTTP Method āĻ°ā§ā§āĻā§āĨ¤ PATCH āĻšāĻā§āĻā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ Field āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨, āĻāĻ° PUT āĻšāĻā§āĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻŦā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨ āĻĻā§āĻˇā§āĻāĻŋāĻ¤ā§ āĻāĻā§ā§āĻ° āĻāĻžāĻ āĻāĻāĻ āĻ°āĻāĻŽ āĻŽāĻ¨ā§ āĻšāĻ˛ā§āĻ Rest API āĻāĻ° āĻŦā§āĻ¸ā§āĻ āĻĒā§āĻ°ā§āĻ¯āĻžāĻāĻāĻŋāĻ¸ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ˛ā§ āĻ¯āĻāĻ¨ āĻ¯ā§āĻāĻž āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻāĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋā§āĨ¤ āĻāĻŽāĻžāĻ° āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§ Field āĻāĻā§ ā§Š āĻāĻŋ, āĻāĻŦāĻ āĻāĻŽāĻŋ ā§Š āĻāĻžāĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻŦā§, āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻāĻžāĻ¨ā§ PUT āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻ° API āĻāĻ° āĻ°āĻŋāĻā§ā§āĻžāĻ°āĻŽā§āĻ¨ā§āĻ āĻāĻŽāĻ¨ āĻšāĻ¤ āĻ¯ā§ āĻļā§āĻ§ā§ title field āĻāĻžāĻ āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻžāĻ¨ā§ PATCH āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻŦā§āĻ¸ā§āĻ āĻĒā§āĻ°ā§āĻ¯āĻžāĻāĻāĻŋāĻ¸ āĻšāĻ¤āĨ¤
Client-side āĻĨā§āĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĄāĻžāĻāĻž Backend āĻ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšā§āĨ¤ Client-side āĻĨā§āĻā§ āĻŽā§āĻ˛āĻ¤ āĻāĻā§āĻ˛ā§ āĻĒāĻžāĻ āĻžā§ request āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĨ¤ āĻāĻāĻžāĻ¨ā§ request āĻāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ°ā§āĻĒ āĻšāĻ˛ req. āĻāĻ request āĻāĻ° āĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§āĻ Backend āĻĨā§āĻā§ response āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšā§āĨ¤ āĻāĻāĻžāĻ¨ā§ response āĻāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ°ā§āĻĒ āĻšāĻ˛ res.
HTTP Request āĻāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻāĻļā§ āĻĄāĻžāĻāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻ¯āĻžā§āĨ¤ Express.js āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Request āĻāĻ° āĻ¯ā§āĻ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻāĻŋāĻ¤ā§ data āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšā§ā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻāĻŦāĻžāĻ° āĻāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤ āĻ¨āĻŋāĻā§ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻāĻŋ āĻā§āĻ˛ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĻā§āĻā§āĻž āĻšāĻ˛āĻ
req.body
req.params
req.query
req.headers
req.cookies
findByIdAndUpdate() āĻšāĻā§āĻā§ mongoose model āĻāĻ° āĻŽā§āĻĨāĻĄāĨ¤ āĻāĻ āĻŽā§āĻĨāĻĄ āĻāĻžā§āĻžāĻ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻŽā§āĻĨāĻĄ āĻĻāĻŋā§ā§āĻ āĻĄāĻžāĻāĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤
āĻāĻāĻžāĻ¨ā§ req, res āĻšāĻā§āĻā§ Express.js āĻāĻ° āĻā§āĻĄāĨ¤
res.body āĻĨā§āĻā§ āĻāĻŽāĻ°āĻž Data Destructuring āĻāĻ°āĻāĻŋ āĻ¯āĻž JavaScript āĻāĻ° āĻā§āĻĄāĨ¤
Blog.findByIdAndUpdate() āĻšāĻā§āĻā§ mongoose āĻāĻ° āĻā§āĻĄ
â Delete Operation
āĻĄāĻžāĻāĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ Delete Method āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšā§āĨ¤ āĻ¯āĻĻāĻŋ API āĻāĻ° āĻā§āĻ¨ āĻ āĻāĻļ āĻĄāĻžāĻāĻ¨āĻžāĻŽāĻŋāĻ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ :id āĻāĻāĻžāĻŦā§ āĻā§āĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšā§āĨ¤ /blogs/:id āĻāĻāĻžāĻ¨ā§ :id āĻšāĻā§āĻā§ āĻĄāĻžāĻāĻ¨āĻžāĻŽāĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§āĨ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ āĻĨā§āĻā§ āĻā§āĻ¨ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻāĻžāĻ āĻ¤āĻžāĻ° id āĻāĻŋ req.params āĻĨā§āĻā§ destructuring āĻāĻ°ā§ āĻ¨āĻŋāĻ˛āĻžāĻŽāĨ¤ Blog.findIdAndDelete() āĻšāĻā§āĻā§ āĻāĻāĻžāĻ¨ā§ Mongoose āĻāĻ° āĻ āĻāĻļ, āĻ¯āĻž āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄ āĻāĻŦāĻ āĻāĻ āĻŽā§āĻĨāĻĄā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻļā§āĻ§ā§ id āĻāĻž āĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻĻāĻŋāĻ˛ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ āĻĨā§āĻā§ āĻāĻā§āĻ¤ id āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻŽā§āĻ¯āĻžāĻ āĻšāĻŦā§ āĻ¤āĻž Delete āĻšā§ā§ āĻ¯āĻžāĻŦā§āĨ¤
đļ Conclusion
āĻļā§āĻˇ! āĻļā§āĻ§ā§ āĻāĻā§āĻā§ āĻāĻ°āĻ˛ā§āĻ Express.js āĻāĻŦāĻ Mongoose āĻĻāĻŋā§ā§ āĻāĻāĻāĻŋ CURD āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ˛āĻāĻŋāĻ āĻ˛ā§āĻāĻž āĻšā§ā§ āĻ¯āĻžāĻŦā§āĨ¤ API Route āĻā§āĻ˛ā§āĻ¤ā§ GET āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ POST āĻŽā§āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§āĻ āĻ āĻŋāĻ āĻāĻāĻ āĻāĻžāĻ āĻāĻ°āĻ¤ā§āĨ¤ Async-await, try-catch āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§ āĻļā§āĻ§ā§ āĻĒā§āĻ°āĻŽāĻŋāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ āĻāĻžāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤āĨ¤ āĻāĻ°āĻāĻŽ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤āĨ¤ āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋā§ Rest API āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§ āĻŦā§āĻ¸ā§āĻ āĻĒā§āĻ°ā§āĻ¯āĻžāĻāĻāĻŋāĻ¸ āĻāĻŦāĻ āĻāĻ¨āĻā§āĻ¨āĻļāĻ¨ āĻā§āĻ˛ā§ āĻāĻā§ āĻ¤āĻž āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻžāĨ¤
Mongoose āĻāĻ° āĻāĻŋāĻā§ āĻ āĻ˛ā§āĻāĻžāĻ°āĻ¨ā§āĻāĻŋāĻāĻ āĻāĻā§, đē Prisma āĻšāĻā§āĻā§ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ°āĻŋā§ āĻā§āĻ˛āĻāĻŋāĻāĨ¤ Mongoose āĻ¯ā§āĻŽāĻ¨ āĻļā§āĻ§ā§ MongoDB āĻĄāĻžāĻāĻžāĻŦā§āĻâāĻ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§, āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§ Prisma āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ Database āĻ¯ā§āĻŽāĻ¨ PostgreSQL, MySQL, MongoDB āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ Schema āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ, āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ, āĻā§ā§ā§āĻ°āĻŋ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ, āĻĄāĻžāĻāĻž āĻā§āĻ¯āĻžāĻ˛āĻŋāĻĄā§āĻļāĻ¨ āĻ¸āĻš āĻāĻ°āĻ āĻ āĻ¸āĻāĻā§āĻ¯ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯āĻžā§ Prisma āĻĻāĻŋā§ā§āĨ¤ Prisma āĻ¨āĻŋā§ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ˛āĻŋāĻāĻŦā§ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻā§āĻ¨ āĻ˛ā§āĻāĻžā§āĨ¤
āĻāĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻ˛ā§ āĻāĻŽāĻŋ Mongoose āĻāĻŦāĻ Express āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ CRUD āĻāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦāĻžāĻ¨āĻžāĻ¨ā§ āĻ¯āĻžā§ āĻ¤āĻž āĻ§āĻžāĻĒā§ āĻ§āĻžāĻĒā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ āĻĨāĻŦāĻž āĻŽāĻ¤āĻžāĻŽāĻ¤ āĻĨāĻžāĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽā§āĻ¨ā§āĻā§ āĻāĻžāĻ¨āĻžāĻŦā§āĻ¨āĨ¤