본문 바로가기

node관련 지식저장소

Node.js MongoDB 연동 및 회원가입 기능 구현

728x90

https://nodejs.org/ko/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

위에 사이트에서 node.js를 다운받는다.

 

 

다운로드 받은 후 터미널 창에 들어가서 npm install mongoose

 

 

mongosse 를 다운받은 후 

 

/* mongoose.js */
const mongoose = require('mongoose');
mongoose.connect("몽고DB클라우드 URL 주소");
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error'));
db.once('open', ()=>{
  console.log('DB connected');
});

const userSchema = mongoose.Schema({
  id: String,
  pass: Number,
  name : String,
  email : String,
  nickname : String,
  phone : String
});


const user = mongoose.model('users', userSchema);



module.exports = user;

//var silence = new user({ id: 'Silence', pass: 3 });
//silence.save();
//var adam = new user({ id: 'Adam', pass: 1 });
//adam.save();
//var ross = new user({ id: 'Ross', pass: 5 });
//ross.save();

 

https://www.mongodb.com/ko-kr/cloud

 

MongoDB Cloud

MongoDB Cloud is a unified data platform for modern applications and includes a global cloud database, search, data lake, mobile, and application services.

www.mongodb.com

 

몽고디비클라우드 무료회원가입 후 클러스터 생성 후 ip기입 및 id 비밀번호를 설정하면

url를 복붙할수있다.

 

해당하는 js를 실행시켜주면

 

 

여기서 nodemon 이란 재부팅없이 바로바로 코드가 적용되게해준다.

 

nodemon server 자동재실행 하는방법

npm으로 설치 후  npm install -g nodemon
nodemon 서버실행 -nodemon server.js

안된다면 

powershell에 관리자 권한으로 들어가서

set-executionpolicy unrestricted

y입력해주면 권한설정 완료

 

 

html코드는 다음과 같이해주었다.

 

<!doctype html>
<html>
<head>
  <title>WEB1 - Welcome</title>
  <link rel="stylesheet" href="/css/join.css"> 
  <meta charset="utf-8">
</head>
<body>

    <form action="/doJoin" method="post" class="joinForm">
                                                                                               
        <h2>회원가입</h2>
        <div class="textForm">
          <input name="id" type="text" class="id" placeholder="아이디">
          
        </div>
        <div class="textForm">
          <input name="pass" type="password" class="pw" placeholder="비밀번호">
        </div>
         <div class="textForm">
          <input name="loginPwConfirm" type="password" class="pw" placeholder="비밀번호 확인">
        </div>
        <div class="textForm">
          <input name="name" type="password" class="name" placeholder="이름">
        </div>
         <div class="textForm">
          <input name="email" type="text" class="email" placeholder="이메일">
        </div>
        <div class="textForm">
          <input name="nickname" type="text" class="nickname" placeholder="닉네임">
        </div>
        <div class="textForm">
          <input name="phone" type="number" class="cellphoneNo" placeholder="전화번호">
        </div>
        <input type="submit" class="btn" value="J O I N"/>
      </form>
</body>
</html>




매일 자바만 쓰던나에게는 action하면 바로 데이터값이 넘어올 줄 알았지만 아니였다.

json으로 형변환을 해주어야했다.

 

 
var bodyParser = require('body-parser') //form 으로 전송할때 json 형식으로

app.use(express.urlencoded({extended : true}));
app.use(bodyParser.json())
app.unsubscribe(express.json());

 

다음과 같이 코드를 작성해 준 후 

 

 

form 에서 데이터를 넘겨보았다.

 

 

데이터가 잘 넘어오는것을 확인할수있었다.

 

 

매일 자바만 써오던 제가 처음으로 node.js를 사용해보았습니다.

json이 xml구조보다 속도가 무지막지하게 빠르다는것을 인지하고 node.js를 배워보는것도 나쁘지않다고 생각해서

무작정 시작을 해봤지만 , 생각보다 할만한것같다.

728x90

'node관련 지식저장소' 카테고리의 다른 글

node.js 간단한 CRUD  (0) 2022.11.12