Seokjin

[update]mongoDBaccess

1 const express = require('express'); 1 const express = require('express');
2 -const mongoose=require('mongoose');
3 -mongoose.connect('mongo://localhost:27017/testDB');
4 const app = express(); 2 const app = express();
3 +const mongoose=require('mongoose');
4 +let bodyParser = require('body-parser');
5 +mongoose.connect('mongodb+srv://sjieu17:tjrwls147714@cluster0.lc6pe.mongodb.net/weather_briefing?retryWrites=true&w=majority');
6 +let session = require('express-session');
7 +app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}));
8 +app.use(bodyParser.urlencoded({ extended: false }));
9 +app.use(bodyParser.json());
5 let logid={ 10 let logid={
6 - name:null, 11 + name:"",
7 - id:null, 12 + id:"",
8 - password:null, 13 + password:"",
9 - sex:null, 14 + sex:-1,
10 log:false 15 log:false
11 }; 16 };
17 +
12 let db=mongoose.connection; // 몽고디비를 어떻게 사용해야하는지를 정확히 몰라서 우선 이렇게 해보겠습니다. 18 let db=mongoose.connection; // 몽고디비를 어떻게 사용해야하는지를 정확히 몰라서 우선 이렇게 해보겠습니다.
13 db.on('error',function(){ 19 db.on('error',function(){
14 console.log('Connection Failed!'); 20 console.log('Connection Failed!');
...@@ -24,28 +30,33 @@ let user=mongoose.Schema({ ...@@ -24,28 +30,33 @@ let user=mongoose.Schema({
24 password:String, 30 password:String,
25 sex:Number 31 sex:Number
26 }); 32 });
27 -let User=mongoose.model('users',UserSchema); 33 +let User=mongoose.model('users',user);
28 app.post('/signup',(req,res)=>{ 34 app.post('/signup',(req,res)=>{
29 let newUser=new User(req.body); 35 let newUser=new User(req.body);
30 - newUser.save(function(error, data){ 36 + newUser.save((err)=>{
31 - if(error){ 37 + if (err) return res.status(500).json({message:"저장실패"});
32 - res.send('error'); 38 + else return res.status(200).json({message:"저장 성공!",data: newUser});
33 - }else{ 39 +
34 - res.send('saved!'); 40 + })
35 - }
36 - });
37 - //logid에다가 몽고디비에서 가져온 데이터를 넣고 로그인 된 상태로 만들고 싶음
38 }); 41 });
39 -app.post('/login',(req,res)=>{ 42 +// app.post('/login',(req,res)=>{
40 - User.findOne({id: req.body.id, password:req.body.password},(err,user)=>{ 43 +// User.findOne({id: req.body.id, password:req.body.password},(err,user)=>{
41 - if(err){ 44 +// if(err){
42 - res.send('아이디와 비밀번호를 다시 확인해주십시오.'); 45 +// res.send('아이디와 비밀번호를 다시 확인해주십시오.');
43 - }else{ 46 +// }else{
44 - res.send('로그인 되었습니다.'); 47 +// res.send('로그인 되었습니다.');
45 - } 48 +// };
46 - }); 49 +// });
50 +// });
51 +app.post('/signin', (req, res) => {
52 + User.findOne({ id: req.body.id, password: req.body.password }, (err, user) => {
53 + if (err) return res.status(500).json({ message: '에러!' });
54 + else if (user) return res.status(200).json({ message: '유저 찾음!', data: user });// 저장되지 않은 유저도 찾았다고 나옴
55 + else return res.status(404).json({ message: '유저 없음!' });
56 + });
47 }); 57 });
48 app.post('/logout',(req,res)=>{ 58 app.post('/logout',(req,res)=>{
49 logid.id=null; 59 logid.id=null;
50 res.send('로그아웃 되었습니다.'); 60 res.send('로그아웃 되었습니다.');
51 -});
...\ No newline at end of file ...\ No newline at end of file
61 +});
62 +let server = app.listen(80);
...\ No newline at end of file ...\ No newline at end of file
......