MERN Stack പഠനത്തിന്റെ 43-ാം ദിവസം

ഇന്ന് ഞാൻ പൂർണ്ണമായ CRUD ഓപ്പറേഷനുകൾ പൂർത്തിയാക്കി.

ഇന്നലെ req.params ഉപയോഗിച്ച് ഡാറ്റ വായിക്കാൻ ഞാൻ പഠിച്ചു. ഇന്ന് HTTP POST, PUT, DELETE മെത്തേഡുകൾ ഉപയോഗിച്ച് ഡാറ്റ മാറ്റം വരുത്താൻ ഞാൻ പഠിച്ചു. എന്റെ ലോക്കൽ ഡാറ്റാബേസ് മാറ്റം വരുത്താൻ ഞാൻ ഫയൽ സിസ്റ്റം ഉപയോഗിച്ചു.

ഡാറ്റയിൽ മാറ്റം വരുത്തുന്ന കോഡ് എഴുതുമ്പോൾ അതീവ ശ്രദ്ധ ആവശ്യമാണ്. സ്റ്റോറേജ് കേടുപാടുകൾ സംഭവിക്കാതിരിക്കാൻ നിങ്ങൾ ലൈഫ് സൈക്കിൾ (lifecycle) കൃത്യമായി നിയന്ത്രിക്കണം.

ഞാൻ എങ്ങനെയാണ് POST റൂട്ട് നിർമ്മിച്ചത് എന്ന് താഴെ നൽകുന്നു:

  • ഇൻകമിംഗ് ബോഡി (incoming body) വായിക്കാൻ ഞാൻ express.json() മിഡിൽവെയർ ഉപയോഗിച്ചു.
  • ഒരു യുണീക് ഐഡി (unique ID) ഉള്ള പുതിയ യൂസർ ഒബ്‌ജക്റ്റ് ഞാൻ നിർമ്മിച്ചു.
  • നിലവിലുള്ള അറേയിലേക്ക് (array) പുതിയ യൂസറെ ഞാൻ ചേർത്തു.
  • അപ്‌ഡേറ്റ് ചെയ്ത അറേ എന്റെ JSON ഫയലിലേക്ക് സേവ് ചെയ്യാൻ ഞാൻ fs മോഡ്യൂൾ ഉപയോഗിച്ചു.

കോഡ് ഇതാ:

const express = require("express");
const fs = require("fs");
const users = require("./MOCK_DATA.json");
const app = express();

app.use(express.json());

app.post("/api/users", (req, res) => {
    const body = req.body;
    const newUser = { ...body, id: users.length + 1 };
    users.push(newUser);

    fs.writeFile("./MOCK_DATA.json", JSON.stringify(users), (err) => {
        if (err) return res.status(500).json({ error: "Write operation failed" });
        return res.status(201).json({ status: "Success", userId: newUser.id });
    });
});

ഈ ഘട്ടം എന്നെ ഡാറ്റ വായിക്കുന്നതിൽ നിന്നും ഒരു പൂർണ്ണമായ ഡാറ്റാ ലൈഫ് സൈക്കിൾ കൈകാര്യം ചെയ്യുന്നതിലേക്ക് എത്തിക്കുന്നു.

ഉറവിടം: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif