Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
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
Archives
Today
Total
관리 메뉴

차근차근

[nodejs & mongoDB & heroku] diary app (2) 본문

대학교/Android

[nodejs & mongoDB & heroku] diary app (2)

SWKo 2020. 3. 26. 10:03

0. 샘플소스 구성

  • 폴더는 다음과 같이 구성되어 있다.

  • index.js는 실제 logic이 들어가는 문법파일(javascript)이다.
  • /view/pages/index.ejs는 화면을 나타내는 파일이다.
  • ejs는 기존 정적인 값만 담을 수 있던 html에서 동적인 값(db에서 가져온 값 등)도 함께 표시할 수 있는 템플릿 엔진이다.
  • package.json은 nodejs에서 필요한 파일들이 json형식으로 나열되어 있다.

1. DB 세팅

  • MongoDB를 사용할 것인데 MongoDB는 NoSQL이다. 테이블 형식이 아닌 JSON형식을 사용한다.
  • DB에 접속하는 방법은 3가지가 있다.
    • 콘솔창에서 명령어로 접속하는 방법
    • 웹으로 접속(확인하는 용도)
    • 코드로 접속(이 앱에서는 코드로 접속하는 방법을 사용하겠다.)
  • MongoDB를 사용하기 위해 다음 사이트에 회원가입 후 로그인한다.
  • https://mlab.com
 

MongoDB Hosting: Database-as-a-Service by mLab

mLab is the largest cloud MongoDB service, hosting over 900,000 deployments worldwide on AWS, Azure, and Google. Get started with a free database.

mlab.com

  • 로그인 후 무료 클러스터를 클릭한 후 다음과 같이 설정해준다. aws - us(east)

  • 아래와 같이 클러스터가 생성된다.

  • 이후 CONNECT를 클릭하고 USER설정을 해준다.

  • Shell로 다음과 같이 Connect 할 수 있다.

  • use [db 이름] : 해당 db를 사용하겠다는 명령어이다.
  • db : 현재 사용하고 있는 db를 보여준다.
  • db.[collection 이름].insert({[document들]}) : 해당 collection에 document 들을 insert한다.

  • db.[collection 이름].find() : collection의 document 리스트를 확인할 수 있다.

  • 다음과 같이 document들을 웹 상에서도 확인할 수 있다.

  • 다음으로 mongoose를 설치한다. mongoose는 nodejs와 mongoDB를 연결해주는 모듈이다.
    • npm install --save --save-exact mongoose
  • body-parser도 설치 한다. html 데이터 처리용 모듈이다.
    • npm install body-parser --save

2. 조회 API 생성

  • index.js파일을 다음과 같이 작성한다.
  • 빨갛게 칠한 부분에 db password를 작성한다.

  • 위 코드는 db에 접속 후 title을 콘솔에 출력해준다.
  • 결과를 확인해보면 다음과 같다.

 

  • 다음 포스팅에서는 API 라우팅에 대해서 보겠다.

 

📌"센치한 개발자의 다이어리 앱"을 토대로 작성한 글입니다.

'대학교 > Android' 카테고리의 다른 글

[Kotlin] 문법  (0) 2020.03.29
[nodejs & mongoDB & heroku] diary app (3)  (0) 2020.03.27
[nodejs & mongoDB & heroku] diary app (1)  (0) 2020.03.26
[Kotlin] Tail Recursive Function  (0) 2020.03.25
KUBAB [마무리]  (0) 2020.01.26
Comments