<prompt> Tengeneza API ya Node.js REST kwa kutumia mfumo wa Express unaoruhusu watumiaji kuunda, kusoma, kusasisha na kufuta madokezo. Kila noti inapaswa kuwa na kichwa, maudhui na muhuri wa wakati. Tumia MongoDB kama hifadhidata na utekeleze ushughulikiaji sahihi wa makosa.  <response>: Ili kuunda API ya REST kwa kutumia mfumo wa Express, unahitaji kufuata hatua hizi:1. Sakinisha Node.js na npm Kidhibiti cha Kifurushi cha Node ikiwa bado hujafanya hivyo.2. Unda saraka mpya ya mradi wako na uende kwayo katika kibodi cha mwishoamri.3. Endesha npm init ili kuanzisha mradi mpya wa Node.js na ujaze vidokezo.4. Sakinisha vitegemezi vinavyohitajika: express, mongoose, body-parser, na dotenv kwa kukimbia:npm install express mongoose body-parser dotenv5. Unda faili ya .env kwenye mzizi wa saraka ya mradi wako na uongeze kamba yako ya unganisho ya Unda faili ya app.js katika mzizi wa saraka ya mradi wako na ubandike msimbo ufuatao ili kusanidi seva na kuunganisha kwa MongoDB: javascriptconst express needexpress;const bodyParser needbody-parser;const mongoose needmongoose;const dotenv needdotenv;dotenv.config;const app express;app.usebodyParser.json;mongoose.connectprocess.env.MONGODB_URI, useNewUrlParser: kweli, useUnifiedTopology: kweli,;const noteSchema new mongoose.Schema kichwa: kamba, maudhui: kamba, muhuri wa wakati: Tarehe,;const Note mongoose.modelKumbuka, noteSchema; Njia kwenda hapaconst PORT process.env.PORT 3000;app.listenPORT, console.logSeva imeanza kwenye bandari PORT;7. Sasa hebu tutekeleze shughuli za CRUD kama njia:- Unda dokezo: javascriptapp.postnotes, async req, res jaribu const note Note mpya kichwa: req.body.title, maudhui: req.body.content, muhuri wa wakati: Tarehe mpya , ; wait note.save; res.status201.jsonnote; kukamata kosa res.status500.jsonujumbe: Hitilafu katika kuunda dokezo ; ;- Soma maelezo yote: javascriptapp.getnotes, async req, res jaribu const notes subiri Note.find; res.jsonmaelezo; kukamata kosa res.status500.json ujumbe: Hitilafu katika kuleta madokezo ; ;- Soma noti moja kwa kitambulisho: javascriptapp.getnotes:id, async req, res jaribu const note await Note.findByIdreq.params.id; ikiwa !noti return res.status404.json ujumbe: Dokezo halijapatikana ; res.jsonnote; kukamata kosa res.status500.json ujumbe: Hitilafu katika kuleta dokezo ; ;- Sasisha dokezo kwa kitambulisho: javascriptapp.putnotes:id, async req, res jaribu const note await Note.findByIdAndUpdate req.params.id, kichwa: req.body.title, maudhui: req.body.content, muhuri wa wakati: Tarehe mpya , , mpya: kweli ; ikiwa !noti return res.status404.json ujumbe: Dokezo halijapatikana ; res.jsonnote; kukamata kosa res.status500.json ujumbe: Hitilafu ya kusasisha dokezo ; ;- Futa dokezo kwa kitambulisho: javascriptapp.deletenotes:id, async req, res jaribu const note await Note.findByIdAndDeletereq.params.id; ikiwa !noti return res.status404.json ujumbe: Dokezo halijapatikana ; res.json ujumbe: Dokezo limefutwa kwa mafanikio ; kukamata kosa res.status500.json ujumbe: Hitilafu katika kufuta dokezo ; ;8. Hifadhi faili ya app.js na anza seva yako kwa kuendesha node app.js. API yako ya REST inapaswa sasa kufanya kazi, ikikuruhusu kuunda, kusoma, kusasisha na kufuta madokezo kwa kutumia zana kama vile Postman au CURL.Kumbuka kuwa huu ni utekelezaji wa kimsingi wa API ya REST na Express na MongoDB. Katika mazingira ya uzalishaji, ungetaka kuongeza uthibitishaji, uthibitishaji na hatua zingine za usalama. 