<prompt> Tengeneza programu ya Node.js inayounganisha kwenye hifadhidata ya MongoDB na inaruhusu watumiaji kuunda, kusoma, kusasisha na kufuta rekodi kwa orodha rahisi ya cha kufanya.  <response>: Ili kuunda programu rahisi ya orodha ya kufanya kwa kutumia Node.js na MongoDB, fuata hatua hizi:1. Sakinisha vitegemezi vinavyohitajikaKwanza, hakikisha kuwa umesakinisha Node.js kwenye mfumo wako. Unaweza kuipakua kutoka tengeneza saraka mpya ya mradi wako na uende kwake kwenye terminal.Tekeleza amri ifuatayo ili kuanzisha mradi mpya wa Node.js:npm init -ySasa, sasisha utegemezi muhimu:- Express: Mfumo wa wavuti wa Node.js.- Mongoose: Maktaba ya Kuiga Data ya Kitu ODM ya MongoDB na Node.js.- Kichanganuzi cha Mwili: Vifaa vya kati kuchanganua miili ya ombi inayoingia.Zisakinishe kwa kuendesha:npm install express mongoose body-parser2. Sanidi sevaUnda faili mpya inayoitwa app.js kwenye folda ya mradi wako na uongeze msimbo ufuatao: javascriptconst express needexpress;const bodyParser needbody-parser;const mongoose needmongoose;const app express; Unganisha kwa MongoDBmongoose.connectmongodb:localhosttodo, useNewUrlParser: true, useUnifiedTopology: true ; Tumia vifaa vya kati vya kuchanganua mwiliapp.usebodyParser.json; Njia za kuingizaconst todoRoutes hitaji.routestodo;app.usetodos, todoRoutes; Anzisha sevaconst port process.env.PORT 3000;app.listenbandari, console.logSeva inafanya kazi kwenye bandari port;;3. Unda schema na mfanoKatika folda yako ya mradi, unda folda mpya inayoitwa mifano. Ndani ya folda hii, unda faili mpya inayoitwa todo.js yenye maudhui yafuatayo: javascriptconst mongoose needmongoose;const TodoSchema mongoose.Schema mpya kichwa: aina: kamba, inahitajika: kweli , imekamilika: aina: Boolean, chaguo-msingi: uongo , imeundwaKwa: aina: Tarehe, chaguo-msingi: Date.now ;module.exports mongoose.modelTodo, TodoSchema;4. Tengeneza njiaKatika folda ya mradi wako, unda folda mpya inayoitwa njia. Ndani ya folda hii, unda faili mpya inayoitwa todo.js yenye maudhui yafuatayo: javascriptconst express needexpress;const router express.Router ;const Todo hitaji..modelstodo; Pata todos zoterouter.get, async req, res jaribu const todos await Todo.find; res.jsontodos; kukamata kukosea res.status500.json ujumbe: err.message ; ; Ongeza cha kufanyarouter.post, async req, res const todo Todo mpya kichwa: req.body.title ; jaribu const newTodo await todo.save; res.status201.jsonnewTodo; kukamata kukosea res.status400.json ujumbe: err.message ; ; Sasisha cha kufanyarouter.patch:id, getTodo, async req, res ikiwa req.body.title ! null res.todo.title req.body.title; ikiwa req.body.completed ! null res.todo.completed req.body.completed; jaribu const updatedTodo await res.todo.save; res.jsonupdatedTodo; kukamata kukosea res.status400.json ujumbe: err.message ; ; Futa cha kufanyarouter.delete:id, getTodo, async req, res jaribu subiri res.todo.remove; res.json ujumbe: Todo Iliyofutwa; kukamata kukosea res.status500.json ujumbe: err.message ; ; Middleware kupata todo na IDkazi ya async getTodoreq, res, next wacha tufanye; jaribu kufanya kusubiri Todo.findByIdreq.params.id; ikiwa todo null return res.status404.json ujumbe: Haiwezi kupata cha kufanya ; kukamata kukosea return res.status500.json ujumbe: err.message ; res.todo kufanya; ijayo ;module.exports kipanga njia;5. Endesha programuHakikisha umesakinisha MongoDB na kuendesha kwenye mfumo wako.Anzisha seva yako ya Node.js kwa kuendesha:nodi app.jsSasa, unaweza kutumia zana kama vile Postman au curl ili kujaribu miisho ya API yako kwa kuunda, kusoma, kusasisha na kufuta vipengee vya orodha ya cha kufanya.Kwa mfano, ili kuunda kipengee kipya cha cha kufanya, tuma ombi la POST na data ya JSON kwa title: Nunua mbogaIli kuleta vipengee vyote vya cha kufanya, tuma ombi la GET kwa kusasisha kipengee kilichopo cha cha kufanya, tuma ombi la PATCH na data ya JSON kwa ambapo :id ni kitambulisho cha bidhaa hiyo:json imekamilika: kweliIli kufuta kipengee cha cha kufanya, tuma ombi la KUFUTA kwa ambapo :id ni kitambulisho cha kipengee hicho. 