Skip to content

Instantly share code, notes, and snippets.

@reymon359
Created January 8, 2019 13:23
Show Gist options
  • Save reymon359/7ead8ab5ce348a2794ecd0b97f228239 to your computer and use it in GitHub Desktop.
Save reymon359/7ead8ab5ce348a2794ecd0b97f228239 to your computer and use it in GitHub Desktop.
basic node express CRUD
const express = require('express');
let app = express();
let example = require('../models/example');
// Create a new example
app.post('/example', (req, res) => {
let body = req.body;
let example = new example({
name: body.name,
description: req.description
})
example.save((err, exampleDB) => {
if (err) {
return res.status(500).json({
ok: false,
err
});
}
if (!exampleDB) {
return res.status(400).json({
ok: false,
err
});
}
res.json({
ok: true,
example: exampleDB
});
});
});
// Get all examples (sorted by description)
app.get('/example', (req, res) => {
example.find({})
.sort('description')
.exec((err, examples) => {
if (err) {
return res.status(500).json({
ok: false,
err
});
}
res.json({
ok: true,
examples
});
});
});
// Get an example by id
app.get('/example/:id', (req, res) => {
let id = req.params.id;
example.findById(id, (err, exampleDB) => {
if (err) {
return res.status(500).json({
ok: false,
err
});
}
if (!exampleDB) {
return res.status(500).json({
ok: false,
err: {
message: 'The id is not valid'
}
});
}
res.json({
ok: true,
example: exampleDB
});
})
});
// Update an example
app.put('/example/:id', (req, res) => {
let id = req.params.id;
let body = req.body;
let descexample = {
description: body.description
};
example.findByIdAndUpdate(id, descexample, { new: true, runValidators: true, context: 'query' }, (err, exampleDB) => {
if (err) {
return res.status(400).json({
ok: false,
err
});
}
if (!exampleDB) {
return res.status(400).json({
ok: false,
err
});
}
res.json({
ok: true,
example: exampleDB
});
});
});
// Delete an example
app.delete('/example/:id', (req, res) => {
let id = req.params.id;
example.findByIdAndRemove(id, (err, exampleDB) => {
if (err) {
return res.status(500).json({
ok: false,
err
});
}
if (!exampleDB) {
return res.status(400).json({
ok: false,
err: {
message: 'The id doesnt exists'
}
});
}
res.json({
ok: true,
message: 'example deleted'
});
});
});
module.exports = app;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment