[NodeJS] MongoDB 기반의 Deployd DB

Deployd DB란

Deployd DB는 MongoDB를 기반으로 만들어 졌으며, 프론트 단에서 API 설계를 쉽고 빠르게 할 수 있게 도와주는 오픈 소스 플랫폼이다. 개인적으로는 Deployd dashboard의 API를 보면 용도, Method, Route, Accepts 그리고 Return값에 대해서 보기 쉽게 표현되어 있다고 생각되어 사용법 역시 어렵지 않다고 생각한다.

설치법

기본적으로 설치는 Mac과 Window, 두가지 OS에 따르므로 OS 버전에 따라 설치를 따로 해야한다.

Mac OS

1. mongoDB 설치


1. Homebrew( macOS용 패키지 관리 ) 를 이용하여 mongoDB를 설치한다. [Homebrew 링크](https://brew.sh/index_ko.html)
2. 설치 완료 후, 터미널을 이용하여, `brew install mongodb` 명령어를 친다.

2. deployd 설치

1. mongodb가 설치가 완료되면 다시 터미널에 `npm install -g deployd` 명령어를 친다. ( 혹시 권한 문제가 생긴다면 앞에 `sudo` 를 붙이면 된다.)
> 혹시 deployd 설치 관련해서 궁금하면 [https://github.com/deployd/deployd#install-from-npm](https://github.com/deployd/deployd#install-from-npm) 에서 볼 수 있다.

2. 설치가 완료되었으면 프로젝트 최상의 루트로 이동, `dpd create [DB명]` 명령어를 친다.
3. 해당 [DB명] 에 해당하면 파일이 생성되면 그 안으로 이동하여, `dpd -d` 를 이용하여, deployd 서버를 띄움과 동시에 dashboard를 띄운다.
4. dashboard가 뜬다면, 용도에 맞게 Collection을 생성하면 된다.
> 자세한 사용법은 [http://docs.deployd.com/docs/getting-started/your-first-api.html](http://docs.deployd.com/docs/getting-started/your-first-api.html) 을 참고하면 된다.

API

이 내용은 dashboard의 API 카테고리에 나오는 내용이지만, 개인적인 정리가 필요할 듯 하여 한 번 더 정리를 한다. 기본적으로는 Method는 Get, Post, Put, Delete 총 4가지가 있으며 각 Method에 따라 원하는 액션과 결과값이 달라진다.

Get

  • Get Method 에는 2가지의 경우에 사용할 수 있다.
  • 모든 데이터
  • 모든 데이터 중 특정 데이터
Task Route Accepts Returns
Listing Data /todos Nothing An array of objects
Getting an object /todos/:id Nothing A single object
  • 특정 데이터를 보는 경우는 Primary Key 를 뒤에 param으로 붙여준다.
  • Return 값으로는 모든 데이터를 호출한 경우는 Array 형태로, 특정 데이터만 호출한 경우에는 Object 형태로 받는다.

Post

  • Get Method는 새로운 데이터를 추가하는 경우 사용할 수 있다.
Task Route Accepts Returns
Creating an object /todos A single object The saved object (or errors)
  • 해당 Method를 사용할 때는 새로 추가할 데이터를 Object 형태로 요청해야 한다.
  • Return 값으로는 새로 추가되는 데이터를 Object 형태로 받는다.

Put

  • Put Method는 기존 데이터를 Update 할 경우에 사용할 수 있다.
Task Route Accepts Returns
Updating an object /todos/:id A single object The saved object (or errors)
  • 해당 Method를 사용할 때는 새로 추가할 데이터를 Object 형태로 요청해야 한다.
  • Return 값으로는 새로 변경되는 데이터를 Object 형태로 받는다.

Delete

  • Delete Method는 기존 데이터를 삭제할 때 사용한다.
Task Route Accepts Returns
Deleting an object /todos/:id A single object Nothing
  • Return 값으로는 아무 것도 받지 않으며, 대체로 responsive의 status 값을 받아 이 후 처리를 한다.

Comments