<prompt> Tengeneza programu ya Node.js inayounganisha kwenye hifadhidata ya MongoDB na kufanya shughuli za CRUD Unda, Soma, Sasisha, Futa kwenye mkusanyiko wa bidhaa.PLINFORMAT  <response>: const express needexpress;const bodyParser needbody-parser;const mongoose needmongoose;const app express;app.usebodyParser.json;mongoose.connect, useNewUrlParser: kweli, useUnifiedTopology: kweli,.then console.logImeunganishwa kwa MongoDB.catcherr console.errorImeshindwa kuunganisha kwa MongoDB, hitilafu;const productSchema new mongoose.Schema jina: kamba, bei: nambari, maelezo: kamba,;const Product mongoose.modelBidhaa, productSchema;app.postbidhaa, async req, res const product Bidhaa mpyareq.body; jaribu subiri product.save; hali.asili201.tumabidhaa; kukamata kosa res.status400.tumakosa; ;app.getbidhaa, async req, res jaribu const products wanasubiri Product.find; tuma tena bidhaa; kukamata kosa res.status500.tumakosa; ;app.getproducts:id, async req, res jaribu const product await Product.findByIdreq.params.id; ikiwa !bidhaa hali ya kurudisha 404.tuma; tuma tenabidhaa; kukamata kosa res.status500.tumakosa; ;app.patchproducts:id, async req, res jaribu const product await Product.findByIdAndUpdatereq.params.id, req.body, mpya: true ; ikiwa !bidhaa hali ya kurudisha 404.tuma; tuma tenabidhaa; kukamata kosa res.status400.tumakosa; ;app.deleteproducts:id, async req, res jaribu const product await Product.findByIdAndDeletereq.params.id; ikiwa !bidhaa hali ya kurudisha 404.tuma; tuma tenabidhaa; kukamata kosa res.status500.tumakosa; ;const port process.env.PORT 3000;app.listenbandari, console.logSeva inafanya kazi kwenye mlango wa port; 