Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

npm install express mongoose body-parser

// app.js

const express = require('express');

const mongoose = require('mongoose');

const bodyParser = require('body-parser');

const fs = require('fs');

const app = express();

const port = 3000;

// Connect to MongoDB

mongoose.connect('mongodb://localhost:27017/userDB', {

useNewUrlParser: true,

useUnifiedTopology: true

})

.then(() => console.log('MongoDB connected'))

.catch(err => console.log(err));

// Create a mongoose schema

const userSchema = new mongoose.Schema({

name: String,

email: String,

phone: String

});

// Create a mongoose model

const User = mongoose.model('User', userSchema);


// Middleware

app.use(bodyParser.urlencoded({ extended: false }));

app.use(bodyParser.json());

// Save user details to data.json

app.post('/user', (req, res) => {

const { name, email, phone } = req.body;

// Create a new user instance

const newUser = new User({

name,

email,

phone

});

// Save user to MongoDB

newUser.save()

.then(user => {

res.send('User saved to database');

})

.catch(err => {

console.error(err);

res.status(500).send('Error saving user to database');

});

});

// Retrieve user details from MongoDB

app.get('/admin/users', (req, res) => {

User.find({}, (err, users) => {

if (err) {

console.error(err);
res.status(500).send('Error retrieving users from database');

} else {

res.json(users);

});

});

// Edit user details

app.put('/admin/users/:id', (req, res) => {

const userId = req.params.id;

const { name, email, phone } = req.body;

User.findByIdAndUpdate(userId, { name, email, phone }, { new: true }, (err, user) => {

if (err) {

console.error(err);

res.status(500).send('Error updating user');

} else {

res.send('User updated successfully');

});

});

// Delete user

app.delete('/admin/users/:id', (req, res) => {

const userId = req.params.id;

User.findByIdAndDelete(userId, (err) => {

if (err) {

console.error(err);

res.status(500).send('Error deleting user');

} else {
res.send('User deleted successfully');

});

});

app.listen(port, () => console.log(`Server running on port ${port}`));

You might also like