카테고리 없음

본캠프 11/21 TIL

parkcw0325 2024. 11. 22. 12:26

오늘 배운 내용 : 노드 입문 2주차 

 

1. Schema가 뭘까?

스케마는 몽고디비를 도입하기 위해 필요한 데이터와 형식을 정의하는 것입니다. 추후에 수정될 가능성을 미리 예측하고 설계해야 , 시간이 지났을 때, 적은 리소스만으로도 해당하는 내역을 반영할 수 있게 될 것입니다.

 

Schema예시

 

이런식으로 스케마를 활용하여 todo모델을 생성하고, 외부로 보냅니다.

 

2. exec() 매서드는 왜 사용하는 거?

 

mongoose에서 exec()는 결과를 반환하기 위해 쿼리를 실행하고, 이 결과로 Promise를 반환하게 된다.

만약, exec() 메서드를 사용하지 않는다면, 해당 쿼리는 결과값이 Promise로 반환되지 않기 때문에, 아직 데이터를 전달받지 않은 상태에서 다음 코드를 실행하게될 수 있다.

결국, 사용하려는 데이터가 null로 정의되어 있어, 우리가 가장 많이 보게될 TypeError: Cannot read properties of null (reading 'id') 에러가 발생하게 될 것이다.