2017-10-23 1 views

Antwort

0

einfache CRUD mit Node.js und Sequelize ORM:

Beispiel mit einfacher Organisationseinheit mit "id" und "namen" ein.

  1. app.js

    ... var organizations = require('./routes/organizations'); ...


  1. Routen/Organisationen

module.exports = function (sequelize, DataTypes) { 
 
    return sequelize.define('organization', { 
 
     id: { 
 
      type: DataTypes.INTEGER(11), 
 
      allowNull: false, 
 
      primaryKey: true, 
 
      autoIncrement: true 
 
     }, 
 
     name: { 
 
      type: DataTypes.STRING(200), 
 
      allowNull: false 
 
     } 
 
    }, { 
 
      tableName: 'organization' 
 
     }); 
 
};


  1. Routen/Organisationen

var express = require('express'); 
 
var router = express.Router(); 
 

 
const sequelize = require('path/to/sequelize'); 
 
const Model = sequelize.import('../models/organization'); 
 

 
/* GET Models. */ 
 
router.get('/', function (req, res, next) { 
 
    var code = 500; 
 
    var message = 'Internal Server Error'; 
 
    var result = ''; 
 

 
    var page = req.query.page || 1; 
 
    var limit = req.query.limit || 5; 
 
    var offset = (page - 1) * limit; 
 

 
    Model 
 
     .findAndCountAll({ 
 
      offset: +offset, 
 
      limit: +limit 
 
     }) 
 
     .then(result => { 
 
      code = 200; 
 
      message = 'OK'; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        data: { models: result } 
 
       } 
 
      }); 
 
     }); 
 
}); 
 

 
/* GET Model. */ 
 
router.get('/:id', function (req, res, next) { 
 
    var code = 500; 
 
    var message = 'Internal Server Error'; 
 
    var result = ''; 
 

 
    var id = req.params.id | 0; 
 

 
    Model 
 
     .find({ 
 
      where: { 
 
       id: id 
 
      } 
 
     }) 
 
     .then(result => { 
 
      code = 200; 
 
      message = 'OK'; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        data: { model: result } 
 
       } 
 
      }); 
 
     }); 
 
}); 
 

 
/* POST new Model. */ 
 
router.post('/', function (req, res, next) { 
 
    var code = 500; 
 
    var message = 'Internal Server Error'; 
 
    var response = ''; 
 

 
    var postData = { 
 
     name: req.body.name 
 
    }; 
 

 
    Model.create(postData) 
 
     .then(function (model) { 
 
      code = 200; 
 
      message = 'OK'; 
 
      response = 'Record is successfully added.'; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }) 
 
     .catch(function (err) { 
 
      code = 500; 
 
      response = message; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }); 
 
}); 
 

 
/* PUT old Model. */ 
 
router.put('/:id', function (req, res, next) { 
 
    var code = 500; 
 
    var message = 'Internal Server Error'; 
 
    var response = ''; 
 

 
    var id = req.params.id; 
 
    var putData = { 
 
     name: req.body.name 
 
    }; 
 

 
    Model.update(putData, 
 
     { 
 
      where: { 
 
       id: id 
 
      } 
 
     } 
 
    ) 
 
     .then(function (model) { 
 
      code = 200; 
 
      message = 'OK'; 
 
      response = 'Record is successfully updated.'; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }) 
 
     .catch(function (err) { 
 
      code = 500; 
 
      response = message; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }); 
 
}); 
 

 
/* DELETE Model. */ 
 
router.delete('/:id', function (req, res, next) { 
 
    var code = 500; 
 
    var message = 'Internal Server Error'; 
 
    var response = ''; 
 

 
    var id = req.params.id; 
 

 
    Model.destroy(
 
     { 
 
      where: { 
 
       id: id 
 
      } 
 
     } 
 
    ) 
 
     .then(function (deletedRecord) { 
 
      if (deletedRecord === 1) { 
 
       code = 200; 
 
       message = 'OK'; 
 
       response = 'Record is successfully deleted.'; 
 
      } else { 
 
       code = 404; 
 
       message = 'OK'; 
 
       response = 'Record not found.'; 
 
      } 
 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }) 
 
     .catch(function (err) { 
 
      code = 500; 
 
      response = message; 
 

 
      res.json({ 
 
       code: code, 
 
       message: message, 
 
       response: { 
 
        msg: response 
 
       } 
 
      }); 
 
     }); 
 
}); 
 

 
module.exports = router;

Es wäre sehr willkommen besser zu wissen Code als die oben genannten. Es könnte jemandem helfen.

Verwandte Themen