<aside> 🔗 모든 스키마에는 3개를 무조건 프로퍼티로 지정

  1. createdAt : 특정 도큐먼트가 저장된 시간
  2. updatedAt : 특정 도큐먼트의 필드값이 변경될 때 수정된 시간
  3. deletedAt : 삭제된 시간 </aside>

<aside> 🔗 m.S.T.O : mongoose.Schema.Types.ObjectId의 약어

</aside>

User (회원)

항목 내용 type required default unique 비고
oauthProvider OAuth 공급자 String true - - 구글, 네이버, 카카오 중 1개
email 이메일 주소 String true - true
profileImage 프로필 이미지 url String - - - 가입 후 등록
없으면 FE에서 등록한 기본 이미지
nickname 닉네임 String - - true 가입 후 등록
초기에는 사이트에서 제공한 회원 닉네임 (없는 경우 실명)
6자 이하,
한글 또는 영어 1글자 필수, 숫자 가능
createdAt 생성일 Date true Date.now mongoose
deletedAt 삭제일 Date - null mongoose
updatedAt 최종 수정일 Date true Date.now mongoose

Feeds (게시글)

feeds(우리의 여행 상세 페이지의 각 게시물)는

이 세 가지 스키마가 공통으로 갖고 있는 내용을 담고 있고, 각 세 가지 스키마를 참조함.

항목 내용 type required default unique 비고
userId 글쓴이 m.S.T.O true - - **ref: ‘User’
유저 고유 ID값**
coverImage 커버 이미지 url String - - - 가입 후 등록
초기에는 FE에서 등록한 기본 이미지
region 지역 m.S.T.O true null - ref: ‘Region’
public 공개 Date - null - 비공개를 신청한 시간을 저장
createdAt 작성일 Date true Date.now mongoose
updatedAt 최종 수정일 Date true Date.now mongoose
deletedAt 삭제일 Date true - mongoose
itineraryId m.S.T.O true ref: ‘Itinerary’
scheduleId m.S.T.O true ref: ‘Schedule’
budgetId m.S.T.O true ref: ‘Budget’