일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Django column 값 가져오기
- table cell size
- DI
- Django 특정 값 가져오기
- html cell size
- Dependency
- html
- table tag
- Dependency Injection
- html cell
- Spring
- Django
- Today
- Total
emluy 개발 일기
express.js #1 - MongoDB 연결하기 본문
* setting
- 작업할 directory 생성
- cmd 에서 작업할 directory로 간 후 app폴더 생성
- app폴더에서 express 와 npm 패키지 설치
- 노드몬 설치 : $npm i nodemon -g
0. mongo db 설치
https://javacpro.tistory.com/64
- mongoDB 사이트에서 community server 다운받기
- 환경변수 편집하기 (mongo server실행하는 명령어를 아무 디렉토리에서도 실행할 수 있게하기 위함)
: mongo.exe와 mongod.exe가 있는 폴더 경로를 환경변수 path에 추가해줌
1. express와 연동
1-1. db.js 에 db연결위한 코드 작성
- cmd에서 app 폴더로 이동 후 $npm install mongoose
- 일단 app.js에서 다음 코드를 상단에 추가해줌
-> 6 : client에서 받아오는 인자들 pasing 하는 모듈
-> 7 : mongodb사용하는데 필요한 mongoose 모듈 가져오기
- db.js를 루트 디렉토리에 만들어주고 다음과 같이 입력
-> 5 : 버전 4.11이상일 때 해줘야한다던데 안해줘도 오류 안나는 것 같음
-> 6 : mydb라는 이름(내가 아무거나 지정가능)으로 database만들어주는 것이고 localhost:27017 주소에서 브라우저로 연결됐는지 확인할 수 있음
-> 7 : 연결된 내용을 db 변수에 저장
-> 9 : db에 연결되는 순간부터 실행, 연결 실패하면 connection error 뜸
-> 11-13 : 연결 성공하면 open이라고 뜸
https://mongoosejs.com/docs/index.html
1-2. 사용할 model만들기
1-2-1. root directory에 models폴더 만들고 model 정의할 파일 만들어주기 (나는 usremodel.js 라고 했음)
-> 1 : 사용할 모듈 mongoose 가져오기
-> 4-9 : User collection 정의하기
-> 12 : 컴파일해주기
-> 14 : 이 User 정의된 것을 다른데서도 쓸 수 있게 (객체 개념) exports로 내보내주기
2. Collection 생성 (table생성)
: 이제 데이터를 mongodb에서 다뤄보자 (express와 잘 연결됐는지, mongodb에 잘 저장되는지 잘 불러와지는지 등등)
: https://yulme.tistory.com/80?category=791295
*참고 블로그
: app.js에 써야하는 코드
https://cinema4dr12.tistory.com/225
2번대로 할 경우 warning 뜸
해결책
* 쓰지는 않았지만 읽어봤던 ref
https://javafa.gitbooks.io/nodejs_server_basic/content/chapter12.html
'웹 개발 > express.js' 카테고리의 다른 글
expressjs - module.experts 와 experts. 의 차이 (0) | 2020.08.04 |
---|---|
express.js - mongoDB 연결 후 DB, Collection(table), Document(data) 다루기, 관련 shell 명령어 (0) | 2020.08.03 |
express.js #0 - css 연결 (0) | 2020.07.31 |
Express.js - 라우팅 (0) | 2020.07.30 |
express.js - 미들웨어 (0) | 2020.07.30 |