To install the mongoose:
1
|
npm install mongoose
|
To install the session:
1
|
npm install --save express-session
|
routes/index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
var express = require('express');
var router = express.Router();
var User = require('../schema/user');
var Response = require('../common/response');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
/* REGISTER USER. */
router.post('/register', function(req, res) {
var data = new User(req.body);
data.save(function(err){
if(err){
console.log(err);
Response.errorResponse(err.message,res);
}else{
Response.successResponse('User registered successfully!',res,{});
}
})
});
/* LOGIN USER. */
router.post('/login', function(req, res) {
var email = req.body.email;
var password = req.body.password;
User.findOne({email: email, password: password}, function(err,user){
if(err){
console.log(err);
Response.errorResponse(err.message,res);
}
if(!user){
Response.notFoundResponse('Invalid Email Id or Password!',res);
}else{
req.session.user = user;
Response.successResponse('User loggedin successfully!',res,user);
}
})
});
/* GET DASHBOARD */
router.get('/dashboard', function(req, res) {
if(!req.session.user){
Response.unauthorizedRequest('You are not logged in',res);
}else{
Response.successResponse('Welcome to dashboard!',res,req.session.user);
}
});
/* GET LOGOUT */
router.get('/logout', function(req, res) {
req.session.destroy(function(err){
if(err){
console.log(err);
Response.errorResponse(err.message,res);
}
else
{
Response.successResponse('User logged out successfully!',res,{});
}
});
});
module.exports = router;
|
MongoDB connection using mongoose with node JS:
Write the following code in app.js
1
2
3
4
5
6
7
8
9
|
// DB connection
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/login_register', {
useMongoClient: true
})
.then(() => console.log('connection succesful'))
.catch((err) => console.error(err));
// DB connection end
|
1
2
3
4
5
6
7
|
var session = require('express-session');
app.use(session({
secret: 'djhxcvxfgshjfgjhgsjhfgakjeauytsdfy', // a secret key you can write your own
resave: false,
saveUninitialized: true
}));
|
Create schema for blog post: ...