🚀 Build a CRUD App with Mongoose and Express.js (āĻŦāĻžāĻ‚āĻ˛āĻž)

🚀 Build a CRUD App with Mongoose and Express.js (āĻŦāĻžāĻ‚āĻ˛āĻž)

Rest API structure using Mongoose and Express.js

¡

8 min read

🤔 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 āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

blog schema using mongoose

Mongoose āĻ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ Schema(āĻ¸ā§āĻ•āĻŋāĻŽāĻž) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻšāĻšā§āĻ›ā§‡ Collection āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡ Documents āĻ—ā§āĻ˛ā§‹ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻ•ā§ƒāĻ¤āĻŋāĨ¤ Schema āĻāĻ•āĻŸāĻŋ Mongoose āĻāĻ° āĻŽā§‡āĻĨāĻĄ āĻ¯āĻžāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• Object āĻ˛ā§‡āĻ–āĻž āĻ¯āĻžā§ŸāĨ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ§āĻ°ā§āĻŽāĻ‡ āĻšāĻšā§āĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ đŸ‘Ģ Key-Value Pairs āĻ†āĻ•āĻžāĻ°ā§‡ āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻŽā§‚āĻ˛āĻ¤ āĻāĻ‡ Schema āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄāĻžāĻŸāĻž āĻŸāĻžāĻ‡āĻĒ, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻ•āĻŽ āĻ­ā§‡āĻ˛āĻŋāĻĄā§‡āĻļāĻ¨, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻ•āĻŽ āĻ˛āĻœāĻŋāĻ• āĻ¸āĻš āĻ†āĻ°āĻ“ āĻ…āĻ¸āĻ‚āĻ–ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ˛ā§‡āĻ–āĻž āĻ¯āĻžā§ŸāĨ¤ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻ°āĻ¨ā§‡ āĻ¯āĻĻāĻŋ āĻ‡āĻ‰āĻœāĻžāĻ° āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ­ā§āĻ˛ āĻĄāĻžāĻŸāĻž āĻ¸āĻžāĻŦāĻŽāĻŋāĻŸ āĻ•āĻ°ā§‡āĻ“ āĻĢā§‡āĻ˛ā§‡ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ¤ā§‡ āĻāĻ¸ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ†āĻŸāĻ•ā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ mongoose āĻ­ā§‡āĻ˛āĻŋāĻĄā§‡āĻļāĻ¨ āĻāĻ°āĻ° āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤

āĻ¸āĻŦāĻļā§‡āĻˇā§‡ āĻāĻ‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻžāĻ° āĻāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ model(āĻŽāĻĄā§‡āĻ˛) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻŽāĻĄā§‡āĻ˛ āĻšāĻšā§āĻ›ā§‡ mongoose āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻĨāĻĄāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ˛āĻžāĻŽ Blog, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻāĻ‡ āĻŽāĻĄā§‡āĻ˛āĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻ•āĻŽ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¯ā§‡āĻŽāĻ¨ Create, Read, Update, Delete āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤

āĻ†āĻ—ā§‡āĻ° āĻŦā§āĻ˛āĻ— āĻ¸ā§āĻ•āĻŋāĻŽāĻžāĻ° āĻāĻ•āĻŸāĻž ✨āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻĄ āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻŋāĻšā§‡āĻ° āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋāĨ¤ āĻāĻŸāĻž āĻļā§āĻ§ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻāĻ°āĻ•āĻŽ āĻ…āĻ¸āĻ‚āĻ–ā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻĄ mongoose āĻāĻ° āĻ­ā§‡āĻ¤āĻ° built-in āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧāĻž āĻ†āĻ›ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§‡āĻ–ā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤

A mongoose schema example

🔗 Connecting to the MongoDB Database

āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° app āĻ•ā§‡ MongoDB āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ Mongoose āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻžāĻ¨ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻŦā§‹āĨ¤ āĻāĻ•āĻŸāĻž āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¨ā§‡āĻ‡ 📁 index.js āĻ¨āĻžāĻŽā§‡āĨ¤

MongoDB āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…ā§āĻ¯āĻžāĻĒāĻ•ā§‡ āĻ•āĻžāĻ¨ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ mongoose.connect() āĻŽā§‡āĻĨāĻĄ āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡āĻ‡ āĻšāĻŦā§‡āĨ¤

mongoose connect method

āĻāĻ‡ connect āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ° ā§§āĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ URI. āĻāĻ‡ URI āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ String, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡ āĻ¤āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ—ā§āĻ˛ā§‹ āĻ…āĻĒāĻļāĻ¨āĻžāĻ˛, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¨āĻž āĻ˛āĻŋāĻ–āĻ˛ā§‡āĻ“ āĻ†āĻŽāĻžāĻ° āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡āĨ¤ āĻ¤āĻŦā§‡ āĻāĻ—ā§āĻ˛ā§‹ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšā§Ÿ āĻ•āĻžāĻ°āĻ¨ URL āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻ•āĻŽ āĻĄāĻžāĻŸāĻž āĻ†āĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻšā§Ÿ, āĻ†āĻ° āĻāĻ‡ āĻĄāĻžāĻŸāĻž āĻ†āĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻ•āĻžāĻœ āĻ—ā§āĻ˛ā§‹ āĻ¸āĻ āĻŋāĻ• āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ˜āĻŸāĻŋāĻ¤ āĻšāĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ—ā§āĻ˛ā§‹ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšā§ŸāĨ¤ āĻ†āĻ° āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ—ā§āĻ˛ā§‹ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻœāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ¯ā§‡āĻ¨ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ†āĻŽāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ†āĻŦāĻžāĻ° āĻ¯āĻĻāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•āĻŋ āĻāĻ°āĻ° āĻšāĻ˛ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

Database connection using mongoose

🔨 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 method

HTTP āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ—ā§āĻ˛ā§‹ āĻŽā§‡āĻĨāĻĄ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻšā§āĻ˛ āĻŦā§‡āĻŦāĻšāĻžāĻ°āĻŋāĻ¤ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻŽā§‡āĻĨāĻĄ āĻšāĻšā§āĻ›ā§‡ GET, POST, PUT, UPDATE āĻāĻŦāĻ‚ DELETE. āĻāĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§‡āĻĨāĻĄāĻ‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ ā§Š āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¨āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒāĻžāĻĨ, āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻŦāĻž āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻĨ āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ API Endpoints, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•ā§‹āĻ¨ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‰āĻ•ā§āĻ¤ Endpoints āĻ āĻšāĻŋāĻŸ āĻ•āĻ°āĻ˛ā§‡ āĻ•āĻŋ āĻ•āĻžāĻœ āĻšāĻŦā§‡ āĻ¤āĻž āĻ˛ā§‡āĻ–āĻž āĻĨāĻžāĻ•ā§‡ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĨ¤ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ—ā§āĻ˛ā§‹ āĻŽā§‚āĻ˛āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ āĻ˛ā§‡āĻ–āĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ‰āĻ•ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ—ā§āĻ˛ā§‹ export āĻ•āĻ°ā§‡ āĻĻā§‡āĻ“ā§ŸāĻž āĻšā§Ÿ, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ API Route āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻļā§āĻ§ā§ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ‡āĻŽāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻĄ āĻĒā§œāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻƒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšā§ŸāĨ¤

A router skeleton

ā§§. āĻĒāĻžāĻĨ: āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻšāĻ˛ā§‹ āĻĒāĻžāĻĨ āĻŦāĻž URI āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻ•ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻĨ āĻšāĻ˛ā§‹ "/blogs", āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻŸāĻŋ /blogs āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ HTTP GET āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

ā§¨. āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°: āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻ…āĻĒāĻļāĻ¨āĻžāĻ˛āĨ¤ āĻāĻŸāĻŋ āĻĒāĻžāĻĨ āĻāĻ° āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛āĻŋāĻĄā§‡āĻļāĻ¨, āĻ…āĻĨā§‡āĻ¨āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨, āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻš āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻž āĻ°āĻžāĻ‰āĻŸā§‡ āĻāĻ–āĻžāĻ§āĻŋāĻ• āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§‡āĻ“ā§ŸāĻž āĻ•ā§‹āĻĄā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° (getBlogs) āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

ā§Š. āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°/āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°: āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻšāĻ˛ā§‹ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ HTTP GET āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸā§‡ āĻšāĻŋāĻŸ āĻ•āĻ°āĻ˛ā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻž āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ•ā§‹āĻĄā§‡, getBlogs āĻšāĻ˛ā§‹ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž /blogs āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ HTTP GET āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ°āĻžāĻ‰āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻšāĻšā§āĻ›ā§‡ Controller.

🔍 Read Operation

āĻ†āĻ—ā§‡āĻ° āĻ•ā§‹āĻĄ āĻŸāĻžāĻ‡ āĻ†āĻ°ā§‡āĻ•āĻŸā§ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°āĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ˛ā§‹, Endpoint āĻ āĻšāĻŋāĻŸ āĻ•āĻ°āĻ˛ā§‡ āĻ¯ā§‡āĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻž āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸ āĻšāĻ¤ā§‹ āĻ¤āĻž āĻāĻ•āĻŸāĻž āĻ­ā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°ā§‡āĻ–ā§‡ āĻ“āĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŸāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¯āĻĻāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ āĻŽāĻŋāĻĄāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤āĻžāĻŽ āĻ¤āĻžāĻšāĻ˛ā§‡āĻ“ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻž āĻ•ā§‡āĻŽāĻ¨ āĻšāĻ¤ā§‹ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛āĨ¤ āĻāĻ°āĻĒāĻ°ā§‡āĻ° āĻ˛ā§‡āĻ–āĻž āĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ°āĻžāĻ–āĻž āĻšāĻŦā§‡, āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ°ā§āĻĨā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‹āĨ¤

A cleaner version of the same code

āĻāĻŦāĻžāĻ° āĻ†āĻŽāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ 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 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°āĻžāĻ•āĻŸāĻŋāĻ¸āĨ¤

try-catch block

āĻāĻ‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ Mongoose āĻāĻ° āĻ…āĻ‚āĻļāĻŸā§āĻ•ā§ āĻšāĻšā§āĻ›ā§‡ Blog.find(); āĻāĻ•āĻĻāĻŽ Introduction āĻ¸ā§‡āĻ•āĻļāĻ¨ā§‡ Blog āĻ¨āĻžāĻŽā§‡ Mongoose āĻāĻ•āĻŸāĻž āĻŽāĻĄā§‡āĻ˛ āĻ†āĻŽāĻ°āĻž āĻ†āĻ—ā§‡āĻ‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ find() āĻŽā§‡āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŦ āĻĄāĻžāĻŸāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻ˛āĻžāĻŽāĨ¤ āĻĄāĻžāĻŸāĻž āĻ–ā§āĻāĻœāĻž, āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻ•āĻ°āĻž, āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻ°āĻ•āĻŽ āĻ…āĻ¸āĻ‚āĻ–ā§āĻ¯ āĻŽā§‡āĻĨāĻĄ Mongoose āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ Built-in āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻļā§āĻ§ā§ āĻ“āĻ‡ āĻŽā§‡āĻĨāĻĄāĻ—ā§āĻ˛ā§‹ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻŦāĻļā§‡āĻˇā§‡ response āĻāĻ° āĻ­āĻŋāĻ¤āĻ° āĻ¯ā§‡ āĻĄāĻžāĻŸāĻž āĻŸāĻž āĻĒā§‡āĻ˛āĻžāĻŽ āĻ¸ā§‡āĻŸāĻž āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻāĻ°āĻ° āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻž āĻ•ā§āĻ¯āĻžāĻš āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻŸā§āĻ°āĻžāĻ‡ āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ•ā§‹āĻĄāĻŸāĻž āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻ•āĻžāĻ°āĻŖ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻāĻ‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§āĻ¯āĻžāĻš āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ•ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

Mongoose āĻāĻ° āĻāĻ°āĻ•āĻŽ āĻ†āĻ°āĻ“ Method āĻ†āĻ›ā§‡āĨ¤ CRUD āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻāĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•ā§Ÿā§‡āĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‹āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ Model.find() āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ›āĻŋāĻ˛ Blog āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Blog.find().

List of mongoose model methods

✨ Create Operation

āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ Document Create āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻŦāĻ°āĻžāĻŦāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ Express.js, JavaScript āĻāĻŦāĻ‚ Mongoose āĻāĻ‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§Ÿā§‡āĻ‡ API āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻšā§ŸāĨ¤ async-await āĻāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ Read āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŦāĻ˛ā§‡āĻ›āĻŋāĨ¤ āĻĄāĻžāĻŸāĻž Read āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ—ā§‡āĻ° āĻŦāĻžāĻ° HTTP GET Method āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻĄāĻžāĻŸāĻž Create āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ HTTP POST Method.

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 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻŦā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°ā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ¸ āĻšāĻ¤āĨ¤

HTTP PUT method

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 āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤

HTTP DELETE method

đŸšļ 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 āĻ†āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻ¯āĻžā§Ÿ āĻ¤āĻž āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ…āĻĨāĻŦāĻž āĻŽāĻ¤āĻžāĻŽāĻ¤ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•āĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻœāĻžāĻ¨āĻžāĻŦā§‡āĻ¨āĨ¤

Â