mongoose 작업으로 MongoDB에 CRUD 작업을 할 예정이다. 지난번에 contactModel.js 에서 만든 모델을 컨트롤러에 전달하였다. 그때 설정했던 모델의 모델명은 "Contact"

 

 

 

 

값 넣기 (CREATE)

해당 모델에 create() 함수를 이용하여 새로운 도큐먼트를 넣을 것이다. name, email, phone 값을 저장하도록 하였다.

 

 

 

 

Body의 Json으로 값들을 집어 넣었다.

 

 

 

 

몽고DB로 가면 myContacts 라는 DB가 생겼다. 이건 이전에 .env 에서 커넥션 스트링을 입력할 때 맨 끝에 슬래쉬 뒤에 적은 DB의 이름이다. 그리고 그 밑의 contacts라는 데이터베이스의 컬렉션 이름이 있는데, 만든 모델의 모델명에서 앞 대문자를 소문자로 바꾼 뒤, s가 붙여진 것이다. 도큐먼트 밑에 내가 저장한 값들이 들어가 있었다.

 

실험을 위해 INSERT를 다른 내용으로 2번 더 했다.

 

 

 

 

 

조회 (READ)

 

전체 조회를 원할 시, find()라는 함수를 이용한다. 썬더 클라이언트에서 확인해본 결과 모든 값들이 조회되었다.

 

 

 

 

특정 id의 도큐먼트를 조회하고 싶다면 findById() 함수를 이용한다. req 에서 불러온 파라미터의 id 값으로 조회해본 결과 해당 id의 도큐먼트가 조회되는 걸 확인할 수 있다.

 

 

 

 

 

수정(UPDATE)

 

요청에서 불러온 바디 값들을 불러온다. findById() 함수로 원하는 id의 데이터를 불러와서 db에 있는 값들을 불러온 바디값으로 수정한다.  save() 함수로 바꾼 값들을 저장하면 된다.

 

 

 

 

 

 

Body JSON에 바꾸고 싶은 값을 적어서, 주소에 해당 아이디로 전송하면, 해당 아이디의 도큐먼트내의 값들이 Body로 보낸 값으로 수정된다는 것을 확인할 수 있다.

 

 

 

 

 

삭제(DELETE)

 

수정 보다 간단하다. 해당 ID 값을 파라미터로 불러와서 해당 id의 도큐먼트를 불러온 뒤, deleteOne() 함수를 이용하여 삭제하면 된다.

 

지난번에 만든 라우터 미들웨어가 작성된 contactRoutes.js 의 코드이다. 이 코드를 간단하게 하기 위해 컨트롤러를 만들 예정이다.

 

 

 

 

 

컨트롤러 파일 안에 js 파일을 만들었다. 먼저 파라미터가 없는 "/" 경로의 get과 post를 만들었다. 비동기 처리 방식으로 getAllContacts 함수, createContact 함수를 만들고 contactRoutes.js 의 get, post의 코드들을 잘라내기하여 붙여넣었다. 그 후 module.exports를 통해 외부로 전달

 

 

 

 

 

 

 

contactRoutes.js 에서 컨트롤러에서 불러온 함수들을 각각 get() 라우터와 post() 라우터에 넣으면 된다. 코드가 간단해지는 걸 확인할 수 있다.

 

 

 

 

 

 

 

서버 켜고 실험.. 제대로 실행되는 걸 확인할 수 있다.

 

 

 

 

나머지 3개의 라우터들도 컨트롤러에서 다음과 같이 비동기처리 후 contactRoutes.js 에 불러왔다.

 

'Node.js' 카테고리의 다른 글

[Node.js] EJS 템플릿 엔진 사용 방법  (0) 2024.04.01
[Node.js] CRUD 코드 작성  (0) 2024.03.28
[Node.js] 몽고DB 설정 후 사용하기  (0) 2024.03.27
[Node.js] body parser 미들웨어  (0) 2024.03.26
[Node.js] 라우터 미들웨어  (0) 2024.03.26

 

정규식을 불러오는 클래스 Regex

 

 

 

 

 

 

원하는 정규식을 다음과 같이 작성한다. @UtilityClass라는 롬복 어노테이션은 해당 클래스를 다른 클래스에서 객체화 불가능하게 한다.

 

 

 

 

 

 

 

HTML에서 다음과 같이 작성한다. th:with 로 원하는 정규식이 있는 경로를 불러오고 th:attrappend로 원하는 input 태그에 원하는 정규식을 집어넣는다.

 

 

 

 

 

 

개발자도구에 들어가서 HTML을 확인해본 결과 알맞게 불러왔다.

 

 

 

+ Recent posts