2016년 2월 13일 토요일

[MEANI-Stack] - #6 (Node.js & Express) Mongoose setting

[MEANI-Stack] - #6 (Node.js & Express) Mongoose setting








Mongoose.js는 MongoDB를 한층 강력하게 만들어주는 라이브러리 입니다.

Mongoose는 ODM(Object Model and a Document Database)으로써
ORM(Object Model and a Relational Database)과 흡사한 형태를 가집니다.




홈페이지에 들어가면 위와같은 친절한 예제가 기다리고 있네요.









예제를 따라 신나게 실행하려는데 오류가 저를 반기는군요...
'kerberos'가 정의되지 않았답니다.

처음엔 제가 뭔가 잘못한건가 하고 열심히 검색 해 보았지만
다운 그레이드 해서 해결했다는 말밖에 없더군요.

changelog를 확인해 봐야겠다는 생각으로 몽구스 깃허브로 들어갔습니다.
몽구스 깃허브 : https://github.com/Automattic/mongoose



몽구스를 설치한 날짜가 2월 8일입니다.





4.4.3 버전에서 해결이 되었군요.
바로 업그레이드 하고 실행해봅니다.





에러없이 깔끔하게 잘됩니다.






이제 테스트를 하기위해 서버에서 사용할 스키마 모델을 아래와 같이 하나 생성해봅니다.



app/models/test.server.model.js 에 스키마를 생성하고

mongoose.js에서 해당 모델을 require한 후에

app/controller/tests.server.controller.js 에 test모델을 추가합니다.

그리고 app/routers/test.serve.routes.js에 api를 등록합니다.

드디어 express를 사용하게되었군요.


스키마 생성시 타입은 아래 링크를 참조하세요
http://mongoosejs.com/docs/schematypes.html






postman을 이용해서 API를 호출해봅니다.



생성은 잘 된듯하나 response데이터가 뭔가 이상합니다.
생성할때 넘긴 name과 age가 넘어오지 않습니다.

몇번더 생성해보고
list를 호출해 보았습니다만 마찬가지로 name과 age가 넘어오지 않습니다.







mongodb에 콘솔로 들어가 확인해 보았지만 마찬가지 입니다.

저장이 안되고 있습니다.





리퀘스트에 문제가 있진 않은지 아래처럼 확인해 보았습니다.





안옵니다. 리퀘스트 body자체를 가져오지 못하고 있습니다!?




아주 중요한 bodyPaser를 잊고 있었네요
아래 명령어를 실행하여 body-parser를 설치합니다.
$ npm install body-parser




설치후 아래와 같이 express.js 파일에 코드를 추가해 줍니다.




body-parser 의 github페이지는 아래 링크를 참조하세요






다시 테스트를 해봅니다.



좋습니다 제대로 들어간것 같군요

리스트를 호출해봅니다.





아주 잘 들어갔습니다.



아래 주소에 push까지 완료하였습니다.
https://github.com/polyglotm/PP-MEANI-stack-back-end


이제 node로 API를 작성할수 있는 환경이 조금씩 갖춰져 가고 있습니다. 



태스크 진행의 마무리는 마무리는 애자일보드 중간점검입니다



다음번 태스크는 (Ionic 2) Seed Project 생성 이 될 예정입니다.


댓글 없음:

댓글 쓰기