<aside> 🔗 모든 스키마에는 3개를 무조건 프로퍼티로 지정
<aside> 🔗 m.S.T.O : mongoose.Schema.Types.ObjectId의 약어
</aside>
| 항목 | 내용 | type | required | default | unique | 비고 |
|---|---|---|---|---|---|---|
| oauthProvider | OAuth 공급자 | String | true | - | - | 구글, 네이버, 카카오 중 1개 |
| 이메일 주소 | 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(우리의 여행 상세 페이지의 각 게시물)는
이 세 가지 스키마가 공통으로 갖고 있는 내용을 담고 있고, 각 세 가지 스키마를 참조함.
| 항목 | 내용 | 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’ |