1. Model을 만든다.(=DTO or VO)
models/user.js
models/user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
email: String,
passwd: String,
created_date: {type: Date, default: Date.now()}
});
module.exports = mongoose.model('user', userSchema);
2.라우팅 파일 수정
routes/index.js
routes/index.js 파일에 만들었던 User Model을 추가한다.
구현한 기능은 3가지 입니다.
(1) POST /regist
MongoDB로 입력된 데이터를 추가한다.
(2) GET /get
저장되어있는 User 정보를 출력한다.
(3) GET /get/email/:email
해당 Email에 해당하는 User 정보를 출력한다.
// routes/index.js
var express = require('express');
var router = express.Router();
var User = require('../models/user');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.post('/regist', function(req, res, next){
var user = new User();
user.email = req.body.email;
user.passwd = req.body.passwd;
user.save(function (err) {
if(err){
console.log(err);
res.json({result: 0});
return;
}
res.json({result: 1});
})
});
router.get('/get', function (req, res) {
User.find(function (err, users) {
if(err) return res.status(500).send({error: 'database find failure'});
res.json(users);
})
})
router.get('/get/email/:email', function (req, res) {
User.findOne({email: req.params.email}, function (err, user) {
console.log(req.params.email);
if(err) return res.status(500).send({error: 'database find failure'});
if(!user) return res.status(404).send({error: 'user not found'});
res.json(user);
})
})
module.exports = router;
3. EJS파일 수정
index.ejs
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
<form action="/regist" method="post">
<div>email<input type="text" name="email"></div>
<div>password<input type="password" name="passwd"></div>
<input type="submit" value="등록">
</form>
</body>
</html>
'Web > Node.js' 카테고리의 다른 글
Mongoose로 Node.js와 연결 시 DeprecationWarning (0) | 2017.07.06 |
---|---|
Node.js 비밀번호 보안(Password Security) (0) | 2017.07.06 |
Node.js 모듈 (0) | 2017.06.23 |
Node.js 에 대해서 (0) | 2017.06.23 |
Window 환경에서 Node.js 설치 및 Hello world 출력하기 (0) | 2017.06.23 |