기록하는삶

[몽고DB/Mongoose] 설치, DB서버 열기, 간단한 DB 활용 본문

AI/데이터베이스(DB)

[몽고DB/Mongoose] 설치, DB서버 열기, 간단한 DB 활용

mingchin 2021. 10. 6. 15:02
728x90
반응형

1. 몽고DB 설치

https://www.mongodb.com/try/download/community

 

MongoDB Community Download

Download the Community version of MongoDB's non-relational database server from MongoDB's download center.

www.mongodb.com

2. feathers 설치 및 url 주소 생성

https://github.com/feathersjs/cli

 

GitHub - feathersjs/cli: The command line interface for scaffolding Feathers applications

The command line interface for scaffolding Feathers applications - GitHub - feathersjs/cli: The command line interface for scaffolding Feathers applications

github.com

node.js 프롬프트에서 feather 설치. 위 깃허브 주소 참고, 필요한 명령어만 사용한다.

feathers generate app을 기준으로, 몇 가지 설정을 해주어야 한다.

service를 Mongoose로 고른다. 기본적으로 http://localhost:3030/users의 주소에 id를 등록할 수 있는 기능이 생성된다.

다른 주소에 server를 열고 싶다면, feathers generate service를 입력한다.

역시나 service 종류는 Mongoose를 선택하고, name of the service는 부여하고 싶은 url주소를, authentication은 No를 고른다.

3. DB에서 사용할 열 생성

DB에서 사용할 열과 그 데이터 형식을 지정해주어야 한다. 

2의 과정을 거쳤으니 projectname/src/models/urlname.model.js 파일이 생성되었을 것이다. 예시에서는 이름이 brain이었다.

열, 데이터타입과 default 지정 예시

해당 파일의 schema 자리에 json 형식으로 각 열과 그 데이터타입, default 값 등을 지정해주어야 한다. 지정할 수 있는 형식의 종류는 아래 링크를 참고하면 된다.

https://mongoosejs.com/docs/schematypes.html

 

Mongoose v6.0.9: SchemaTypes

SchemaTypes handle definition of path defaults, validation, getters, setters, field selection defaults for queries, and other general characteristics for Mongoose document properties. You can think of a Mongoose schema as the configuration object for a Mon

mongoosejs.com

4. postman에서 데이터 등록 후 확인하기

위에서 지정한 형식에 맞게 다음과 같이 post 요청을 보내면, 해당 내용이 DB에 저장된다.

get 요청을 통해 이것을 확인할 수 있다.

이전에 등록해 놓은 것까지 총 2개의 데이터가 보인다. get 요청은 해당 DB가 가진 모든 데이터를 불러와 보여준다. 그 중 특정 데이터만 불러오고 싶다면 아래처럼 쿼리문을 활용하면 된다.

5. 저장한 row의 특정 column 업데이트

patch를 이용하면 되는데, 요청하는 url 주소 뒤에는 업데이트 하고 싶은 row에 부여한 id가 와야한다. (_id)

 

6. 특정 row 없애기

설치한 MongoDB Compass에서 쉽게 삭제할 수 있다.

삭제를 원하는 url 주소로 찾아가 row를 삭제할 수 있다.

728x90
반응형